WordPress + PHP = Love

Долго не мог придумать название этой статьи. В итоге придумал такое вот интересное название – «WordPress + PHP = Love» Для чего собственно я пишу этот пост? Наверное для того, чтобы в очередной раз подтвердить слова моего друга Андрея Макарова о том, что иногда лучше подправить код в WordPress’e , чем устанавливать очередной плагин, который так или иначе будет уменьшать скорость загрузки Вашего блога.

В интернете можно найти множество советов по улучшению Вашего блога небольшим изменением кода в вордпрессе. Я выбрал наиболее интересные из них.

Ускоряем блог в 3 раза с помощью 2 строчек кода.

Как это сделать? Ответ прост – zlib компрессией (опция на Вашем хостинге, которая сжимает данные). Её мы как раз и используем в WordPress для ускорения блога.

Для начала проверим, включена ли эта опция у Вас на сервере. Для этого создаем файл (например proverka.php) и вставляем в него следующий код:

<?php phpinfo(); ?>

Сохраняем и заливаем файл через FTP в корневую папку Вашего блога. После этого переходим по ссылке:

http://ваш_сайт.ru/proverka.php

Получаем лист с характеристикой сервера Вашего блога. Находим блок zlib. Там должно быть написано enabled (опция включена). Если же написано disabled, то нужно обратиться на хостинг, чтобы её включили.

Теперь вставляем те заветные 2 строчки, которые ускорят Ваш блог. В файл header.php перед строчкой <!DOCTYPE html PUBLIC вставляем вот это:

<?php
ini_set('zlib.output_compression', 'On');
ini_set('zlib.output_compression_level', '1');
?>

Удаляем файл proverka.php (он нам теперь ненужен) и проверяем как изменилась скорость загрузки. У меня на хостинге почему-то так и не реализовался это фокус. Я хотел бы узнать, помог ли он Вам для ускорения загрузки блога?

Публикуем на блоге статистику постов и комментариев.

Сегодня увидел на одном блоге в сайдбаре статистику, которая выводила общее количество статей и комментов. Мне стало интересно, как можно реализовать такую фишку. Оказывается все очень просто – не нужно никаких плагинов! Открываем файл, где мы будем выводить статистику (к примеру sidebar.php) и вставляем этот код:

<?php
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");
if (0 < $numposts) $numposts = number_format($numposts);

$numcomms = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'");
if (0 < $numcomms) $numcomms = number_format($numcomms);
?>

<h2>Статистика сайта:</h2>
<ul>
<li>Количество записей на блоге: <?php printf(__('%1$s. </li> <li> Количество комментариев: %3$s '), $numposts, 'edit.php',  $numcomms, 'edit-comments.php'); ?></li>
</ul>

Если необходимо, то немного подправляем стиль заголовков.

Делаем список RSS для каждой рубрики.

Этот трюк больше подойдет для блогов с обширной тематикой. К примеру понравились мне статьи о спорте на каком-нибудь сайте. Я хочу быть в курсе последних новостей этой рубрики и подписываюсь на RSS-рассылку. Но кроме спорта на этом сайте публикуются статьи еще 10-20 тематик (лекарства, музыка, кино и прочий бред), которые мне будут неинтересны. Вот в этом случае нам и поможет список RSS рубрик – чтобы каждый мог получать новости только из определенной тематики. Для этого нужно вставить код в то место, где будет выводится список фидов:

<?php wp_list_categories('feed_image=http://www.ваш сайт.ru/image.gif&feed=XML Feed&optioncount=1&children=0'); ?>

http://www.ваш сайт.ru/image.gif – путь к картинке RSS, которая будет высвечиваться возле названия каждой рубрики. Создайте эту картинку и пропишите к ней правильный путь.

А если Вам захотелось подписаться на какую-нибудь рубрику на чужом блоге, а у него нет подобной «фишки»? Выход есть! К примеру Вы хотите подписаться только на рубрику «Начинающему блоггеру» на моем блоге. Вот как выглядит ссылка на эту рубрику:

http://sidash.ru/category/blogger/

Для получения фида этой рубрики нужно всего лишь вставить в конце ссылки «/feed»:

http://sidash.ru/category/blogger/feed

Очень просто и очень полезно :).

Контролируем время появления постов в RSS.

Вчера у меня произошел маленький казус: когда я экспериментировал с CSS, нечайно опубликовал статью с названием «444» (заранее извиняюсь перед своими подписчиками за такую оплошность). Хоть я моментально удалил эту статью, но все же она появилась в RSS фиде (про это мне сообщил мой друг Ahawks). «Не порядок» — подумал я. Все же потом я нашел выход из этого положения. Вставляем в файл function.php этот код:

function publish_later_on_feed($where) {
global $wpdb;if ( is_feed() ) {
$now = gmdate('Y-m-d H:i:s');
$wait = '5'; // Установка задержки
$device = 'MINUTE'; // MINUTE (минута), HOUR (час), DAY (день), WEEK (неделя), MONTH (месяц), YEAR (год)
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');

Этот php-код добавляет 5 минутную задержку между опубликованием статьи на Вашем блоге/сайте и его появлением в rss-фиде.

Улучшаем поиск на вордпресс-блоге.

У вордпресс-блогов есть отличная функция поиска, но есть метод, как сделать его еще удобнее и привлекательнее. Я имею ввиду подсветку тех слов, которые мы ищем.

Вот здесь можно прочитать как все это организовать. Расписывать не хочу, так как в этом есть много своих положительных и отрицательных моментов.

Выводим записи из Вашей избранной рубрики.

Если Вы хотите выводить записи избранных рубрик в любом месте блога воспользуемся функцией query_post :

<?php query_posts('cat=3&showposts=6'); ?>
<ul>
  <?php while (have_posts()) : the_post(); ?>
  <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
  <?php endwhile;?>
</ul>

Число 3 – это id избранной рубрики, а 6 – количество записей, которые нужно выводить.

Как видите сочетание WordPress + PHP и вправду дает неплохие результаты. Можно еще много чего писать про то, как улучшить свой блог без применения плагинов, но на сегодня пожалуй хватит. Надеюсь Вам пригодятся некоторые «фишки», про которые я написал выше.

Ну а я продолжаю делиться жирными ссылочками. Эта ссылка пропадет, когда появится новый пост. Жирные ссылки появляются только в новых статьях. Чтобы быть в курсе всех событий советую подписаться на мою RSS рассылку.

Понравилась статья? Поделиться с друзьями:
Комментарии: 16
  1. mautdib

    Испробовал метод «Ускоряем блог в 3 раза с помощью 2 строчек кода.»
    Скорость загрузки действительно увеличивается. Ну не в 3 раз конечно. Но всё равно, лучше! 

  2. sidash (автор)

    ну хоть кому-то помогло ускорить)

  3. ahawks

    Интересная солянка вышла у Вас Дмитрий) Парочкой советов попробуем воспользоваться

  4. sidash (автор)

    спасибо, Артур)))мне особенно пригодились фокусы с RSS

  5. Taras

    Тоже есть пост, об ускорении блога :) Но увидел новые пункты у тебя, и в ближайшее время думаю сделаю доработки :)

  6. Влад

    «который так или иначе будет увеличивать скорость загрузки Вашего блога.», я думаю что здесь уместнее было бы сказать уменьшать скорость загрузки или увеличивать время загрузки, а то получается что при использовании плагинов скорость загрузки увеличивается, т.е. выполняется быстрее, хотя на самом деле скорость загрузки уменьшается.

  7. sidash (автор)

    подправил. спасибо)

  8. Михаил

    Реально ускоряет, но не в 3 раза, примерно в 2-полтра!)
    Огромное спасибо

  9. Elena Kusnetsova

    ZLib Support enabled —

    а вот — zlib.output_compression Off Off

    так непонятно, включена ли функция или нет?

  10. sidash (автор)

    если Off, то выключена

  11. Роман

    Блог действительно стал быстрее работать. Спасибо вам большое.

  12. Vlad

    «Ускоряем блог в 3 раза…»
    А у меня в Header нет строчки .
    Это одно и то же?

  13. sidash (автор)

    ну подобный код должен быть во всех шаблонах

  14. Сергей

    Спасибо, полезный материал!)

  15. Tettie

    Добавила две строчки кода — и сайт вообще перестал работать. Пришлось быстренько их удалить :) zlib enabled

  16. Anton Doro

    Спасибо за совет по ускорению блога, реально помогло. Даже не ожидал, что так быстро будет загружаться. Вам бы этот совет в виде отдельной оптимизированной для ПС статьи выложить. Я про то, что бы поисковики на Вас выбрасывали, по запросу об ускорении блогов. А то в топе в основном чепуха всякая, или про плагины. А тут действительно стоящий совет новичкам. Еще раз спасибо.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: