c 9-00 до 18-00
Добавление похожих постов вручную и с помощью плагинов
Похожие статьи — хорошая штука. Во-первых это удобно для пользователя, когда хочется почитать что-либо на похожую тему, во-вторых это хорошо для поисковой оптимизации (перелинковка итп). Рассмотрим несколько способов добавить блок с похожими записями в вордпрессе.
Для начала определимся, как будем определять «похожесть» записей. Я думаю будем сравнивать метки записей — заморачиваться с сравнением текста записей не имеет особенного смысла. Блок с такими постами выведем внизу каждой статьи в шаблоне single.php. Идеально было бы оформить блок как виджет, и разметить для него специальный сайдбар, но об этом позже. Приступим.
<div class="relatedposts">
<h3>Похожие записи</h3>
<?php
$orig_post = $post;
global $post; // получим текущий пост
$tags = wp_get_post_tags($post->ID); // получим теги текущего поста
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids, // наши похожие посты из тегов текущего поста
'post__not_in' => array($post->ID), // исключим из выборки текущий пост
'posts_per_page'=>4, // отобразим 4 записи.
'caller_get_posts'=>1
);
$my_query = new wp_query( $args ); // выполним запрос
while( $my_query->have_posts() ) {
$my_query->the_post();
?>
<div class="relatedthumb">
<a rel="external" href="<? the_permalink()?>"><?php the_post_thumbnail(array(150,100)); ?><br />
<?php the_title(); ?>
</a>
</div>
<?php }
}
$post = $orig_post;
wp_reset_query(); // сбросим выборку на стандартную
?>
</div>
Что собственно происходит в коде — мы для текущей записи выбираем теги, далее выбираем 4 поста с такими же тегами (+исключим из выборки текущий пост), ну и отображаем эти посты в виде миниатюра-ссылка. Все описано в комментах к коду. Вам остается лишь описать CSS стили для блока relatedposts
Не вдаваясь в подробности — перечислю несколько хороших плагинов для вывода похожих постов. Настройка этих плагинов обычно описана — проблем возникнуть не должно. Итак: