Оптимизация Wordpress: чистый код вместо ненужных плагинов (часть1)

Friday, 21 Nov 08 в 1:58

php против плагинов wordpressЯ неоднократно говорил, что предпочитаю использовать обычный PHP код или функции Wordpress вместо установки разных «непонятных» плагинов. Наткнулся недавно на статью об оптимизации Wordpress с помощью замены подобных бесполезных плагинов на обычные вставки кода. Ведь при использовании большого их числа ваш сайт может заметно «сдать» в производительности. Сюда можно отнести простые задачи - как-то редирект фида, отображение рандомного контента, вывод информации из базы данных. Причем все вставки «альтернативного кода», которые будут приведены в статье не требует редактирования файлов самой системы, а лишь правку шаблона (темы). Поэтому вы можете практически не беспокоится насчет обновления блога - оно ваш код не затронет. В некоторых случаях придется подправить файл htaccess, но, думаю, это не большая проблема.

Предыдущий и следующий пост в выбранной категории

Возможность навигации по постам в пределах одной категории - достаточно полезная функция. До версии wordpress 2.х ее обеспечивал специальный плагин. Сейчас вы запросто можете использовать следующий код, который встроен в ядро системы:

<?php previous_post_link('format', 'link', in_same_cat, 'excluded_categories '); ?> |
<?php next_post_link('format', 'link', in_same_cat, 'excluded_categories '); ?>

Здесь используются следующие параметры:

  • format (строка) - позволяет задать форматирование строке со ссылкой, поставив свой текст до и (или) после переменной %link. Например, вы можете использовать значение ‘Следующий пост в этой категории: %link »’.
  • link (строка) - параметр определяет текст для ссылки. По умолчанию это заголовок поста, хотя вы можете добавить любое значение до и (или) после переменной %title.
  • in_same_cat (boolean) - ключевой параметр дабы код для замены плагина сработал. Если он установлен в TRUE, то обрабатываются только посты в той же категории. Учтите, что значение FALSE установлено по умолчанию.
  • excluded_categories (строка) - с помощью данного параметра вы можете исключить из навигации некоторые категории. Например, если вы хотите чтобы посты из категории под номером 6 не принимали участие в работе, просто вводите цифру 6. Для множественного исключение нескольких категорий перечислите их ID через запятую.

Отображение иконок для категорий

Добавление иконок к категориям - хороший способ добить блогу некоторую изюминку. Есть некоторые замечательные плагины для реализации данной идеи, но использовать их вовсе не обязательно! Вместо этого создайте набор иконок (или поищите здесь) и назовите их именами ваших категорий - лучше всего просто скопировать названия категорий (вместе с пробелами, дефисом, большими, маленькими буквами). Причем для всех файлов изображений нужно использовать одно расширение - например, png. После этого создайте в корневой директории вашей wordpress темы папку icons и залейте туда все иконки.

Затем в желаемом месте шаблона вставляем следующий код:

<img src="<?php bloginfo('template_directory'); ?>/icons/<?php $cat = get_the_category(); $cat = $cat[0]; echo $cat->cat_name; ?>.png" alt="Category Icon" />

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

<?php foreach((get_the_category()) as $cat) { echo '<img src="bloginfo('template_directory'); ?>/icons/' . $cat->cat_name . '.png" alt="Category Icon" />'; } ?>

Отображение иконки автора поста

Еще один хороший способ красиво настроить блог - автоматически отображать иконки для авторов постов. Особенно этот трюк пригодится для коллективных блогов с большим числом писателей. Вместо избыточных плагинов можно использовать тот же метод, что и в предыдущем посте, заменив предварительно имена файлов с категорий на логины авторов.

После чего вставляете в шаблон следующий код:

<img src="<?php bloginfo('template_directory'); ?>/icons/<?php the_author('login'); ?>.png" alt="Icon for: <?php the_author(); ?>"  />

Данный исходный код выводит лишь изображение, но вы запросто можете его немного подправить, добавив свои какие-то нюансы. Если обратите внимание, в нем есть функция для вызова имени автора.

Продолжение следует…

P.S. Приглашаю заглянуть на MMGP.RU - не только форум о заработке в сети, а еще и сообщество профессионаров по инвестициям и финансам. Регистрация бесплатна, проект насчитывает уже 12000 пользователей!

Обратите внимание - разработка сайтов любой сложности: от интернет-магазинов до корпоративных порталов и промо проектов.

Спонсор месяца:

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

Комментариев - 6 для данного поста

  1. FitVibe Пишет:

    Отличная статья, спасибо! Но плагинами пользоваться удобнее имхо, а то код не туда вставишь еще - блог работать не будет…

  2. @ Аким Пишет:

    полезно )
    кстати если у кого используются в шаблоне старые вызовы previous_post и next_post заменять надо внимательно. например: previous_post(’← %’) станет previous_post_link(’← %link’,'%title’)

  3. Ruslan Пишет:

    Спасибо за инфу, как раз то что мне надо - блог загибается от нагрузки, а хостинг лимит уже не поднимает…

  4. vVv Пишет:

    использовал

    невыходит :(

    только текст поевляется, без ссылки

  5. Canya Пишет:

    Статья хорошая.. Вот только побольше бы функций описать

  6. Tod Пишет:

    Canya, все функции есть на официальном сайте wordpress.org, в статье лишь рассмотрены самые простые плагины. В будущем, я займусь этой системой еще более плотно, поэтому весьма вероятно напишу продолжение данной темы.

Оставить комментарий (правила комментирования)