Здравствуйте, уважаемые читатели. Сегодня будет небольшой, но очень полезный пост, где расскажу вам как вывести похожие статьи без плагинов. Может возникнуть резонный вопрос: а какая же в этом необходимость? Не лучше ли оставить все как есть и заниматься другими неотложными делами, чем ковыряться в каких-то непонятных кодах?
Ответ, как говорится, есть, тем более, что замена плагина кодом займет у вас буквально 3 минуты, гарантирую.
Небольшое предисловие
В последнее время избавляюсь от тех плагинов, без которых можно легко обойтись или работу которых можно заменить кодом. Например, я удалил совершенно ненужный, с моей точки зрения, плагин «WordPress Database Backup». Он и работает как-то половинчато, делает только резервную копию базы данных ( а бэкап файлов блога кто будет делать? ).
Поэтому раз в неделю сам выполняю эту работу, тем более что это не трудно. Во-вторых, резервное копирование моего блога запланированно выполняется на моем хостинге ( на какие параметры нужно обращать внимание при выборе хостинга читайте в этой статье ). Если что, могу восстановиться и оттуда.
Также отказался от услуг всем известного плагина «WP No External Links». Почему я это сделал, можете ознакомиться в моей статье о битых ссылках. Внимание! Я не настаиваю на этой точке зрения, поэтому если вдруг решите последовать моему примеру, сначала взвесьте все «за» и «против».
Ну и, наконец, плагин для вывода похожих статей с миниатюрами «WordPress Related Posts». Относительно него у меня давно чесались руки, а теперь и повод возник. Дело в том, что он малоэффективен.
Анализируя статистику Liveinternet заметил, что нет ни одного перехода с «похожих статей». Со ссылок внутри статьи есть, а вот с них нет. Мне кажется виной всему являются как раз-таки эти самые миниатюры, которые пользователь проскакивает даже не заметив. А если вывести ссылки на другие статьи просто текстом, то они очень даже видны, сразу обращаешь на них внимание. В любом случае посмотрим, можно даже сказать, что это эксперимент.
Почему лучше обходиться без плагинов?
Во-первых, они очень сильно тормозят загрузку блога. Я не буду здесь подробно рассказывать почему это плохо, так как уже писал об этом. Какие именно плагины и как грузят ваш блог может помочь узнать еще один специальный плагин «P3 Performance Profiler». Установите, как обычно, через админку и активируйте, затем нажмите на «Scan Now» прямо на странице с плагинами.
Затем «Auto scan», после того как плагин выполнит работу- «View Results».
На скриншоте видно, что плагины у меня загружаются за 0,145 сек. и число обращений к серверу составляет 54. После того как удалил «WordPress Related Posts» время загрузки уменьшилось до 0,114 сек., а число обращений к базе данных уменьшилось до 39.
Вот вам и первая причина. Кстати, не забудьте после проверки деактивировать «P3 Performance Profiler» или же вовсе удалите.
Во-вторых, плагины частенько конфликтуют между собой или с какими-то функциями шаблона. Из-за этого могут появиться разные мелкие неприятности в виде кракозябров, могут некорректно устанавливаться счетчики, буквы в некоторых местах станут чрезмерно большими или же, наоборот, очень маленькими и т.д.
Ну и, в-третьих, существует мнение, что коды просто-напросто работают лучше, чем плагины.
Как вывести похожие статьи без плагина
Все очень просто. Сначала деактивируйте свой плагин, затем скопируйте этот текст:
<div class=»sample-posts»>
<h4>Читайте также:</h4>
<?php
$categories = get_the_category ($post->ID);
if ($categories) {
$category_ids = array ();
foreach ($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array (
‘category__in’ => $category_ids,
‘post__not_in’ => array ($post->ID),
‘showposts’=>5,
‘caller_get_posts’=>1);
$my_query = new wp_query ($args);
if ( $my_query->have_posts () ) {
echo ‘<ul>’;
while ($my_query->have_posts ()) {
$my_query->the_post ();
?>
<li><a href=»<?php the_permalink () ?>» rel=»bookmark» title=»<?php the_title_attribute (); ?>»><?php the_title (); ?></a></li>
<?php
}
echo ‘</ul>’;
}
wp_reset_query ();
}
?></div>
Теперь пройдите в админку вашего блога, выберите «Внешний вид»-«Редактор», затем откройте файл «single.php». Поскольку похожие статьи уместно будет расположить после основного контента, разместите код после вот таких строк:
<?php the_content (); ?>
И не забудьте обновить файл. Все, дело сделано. Я потратил на это 3 минуты. А вы? На этом я закончу свою небольшую заметку, если она была полезна вам, подписывайтесь на новые статьи блога. А пока я пишу их, почитайте старые, перейдя по ссылкам чуть ниже. Всего доброго.
Автор статьи — Баяс Батуев