Как добавить похожие статьи в WordPress

Добавление похожих постов вручную и с помощью плагинов

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

Способ №1 — добавление похожих записей вручную.

Для начала определимся, как будем определять «похожесть» записей. Я думаю будем сравнивать метки записей — заморачиваться с сравнением текста записей не имеет особенного смысла. Блок с такими постами выведем внизу каждой статьи в шаблоне 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

Способ №2 — похожие записи с помощью плагина

Не вдаваясь в подробности — перечислю несколько хороших плагинов для вывода похожих постов. Настройка этих плагинов обычно описана — проблем возникнуть не должно. Итак:

  • Related Posts Плагин связывает контент записи с контентом других записей. Очень прост в настройке.
  • Yet Another Related Posts Plugin YARPP использует свой алгоритм. Похожие стати определяются не только по категории/метке. но и по фактору «степени похожести», который основывается на контенте самой статьи.
  • CP Related Posts В отличие от других плагинов этот плагин использует собственный алгоритм определения похожих постов. Он основывается на выборке ключевых слов из статьи.
  • Related Posts via Categories Этот плагин связывает посты из категории.
  • Related Posts via Taxonomies Related Posts via Taxonomies будет отобраать список постов, которые выбираете вы, или автоматически, основываясь на таксономии/категории/тэгу