Онлайн заработок, создание и монетизация сайтов, веб-разработка, SEO и SMO продвижение, фриланс, партнерки, полезные сервисы вебмастерам, блоггинг.

Главная » WordPress » Оптимизация Wordpress: чистый код вместо ненужных плагинов: иконки для авторов и категорий, навигация

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

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 пользователей!

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

21.11.08

Категории: WordPress.

Теги: , , , , , ,

20 Comments
  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, в статье лишь рассмотрены самые простые плагины. В будущем, я займусь этой системой еще более плотно, поэтому весьма вероятно напишу продолжение данной темы.

  7. drStas

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

  8. Tod

    drStas, с помощью PHP можно и не такое реализовать, я думаю. Можно даже плагины поискать, возможно, кому-то приходилось создавать нечто подобное.

  9. ZULI

    Аналогично как и у vVv, выводит один текст, а ссылок на след. и пред. посты нет WP 2.8.4, плагинов никаких не установлено

  10. Оптимизатор

    Я оптимизирую wordpress слежующим образом

    Основная внутренняя оптимизация:
    Урлы страниц (permalinks)
    Оптимизация тайтла под СЕ
    Оптимизация дескрипшена
    Оптимизация текста в теге more
    Оптимизация картинок и изображений в блоге

    Оптимизация шаблона (темплейта):
    Панировка
    Рубрики (категории)
    Чистка кода
    Усовершенствование скорости
    Реорганизация сайдбара

  11. SiR0Ga

    Не знаю, лично я убрал почти все внешние ссылки в noindex, заполнил уникальным контентом, ничего лишнего, все нужные плагины и через пол года ТИЦ10 и ПР1 ;)

  12. ADv

    Отображение иконок для категорий
    Затем в желаемом месте шаблона вставляем следующий код:….
    нельзя немного подробнее? куда именно вставлять? методом тыка не выходит :( пробовал в sideba.php рядом с кодом вывода категорий, не отображаются иконки

  13. Tod

    ADv, посмотрел еще разок код — судя по всему, здесь код должен использовать в цикле wordpress Loop, то есть при выводе статьи блога будут отображаться еще и иконки категорий. Это вывод мета информации о посте, а не иконки к списку категорий в сайдбаре.

  14. Strikestar

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

  15. Tod

    Strikestar, плагины не всегда плохо, как я думал раньше, иногда они экономят много времени. Можешь глянуть мой блог про wordpress там есть также парочка интересных статей.

  16. Strikestar

    Tod, а разве этот не твой блог? :)

  17. Tod

    Strikestar, мой, просто думал ты на него не заходил, вот и сказал, что про вордпресс пишу преимущественно там)

  18. Strikestar

    Понятно, я и там был)

  19. Андрей

    Большое спасибо за полезную статью! Скажите пожалуйста, а в какой файл нужно вставлять код для вывода иконок перед категориями?

  20. Tod

    Андрей, зависит от того где у вас будут отображаться категории — если в шапке, то в header.php, если в боковую колонку, то sidebar.php и т.п.

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

Ваш e-mail не публикуется. Обязательные поля помечены *
Если вы комментируете впервые, то текст будет отправлен на модерацию.