Добавляем список похожих записей в своем блоге.

Список похожих записей – это приятное дополнение блога, как для владельца, так и для пользователей. С одной стороны, пользователи ходят со странички на страничку, получая массу полезной информации, и не затрачивая на ее поиск много времени и сил. С другой стороны, владелец блога наслаждается тем, что ни одна страничка его сайта не осталась незамеченной со стороны пользователей. Кстати, список похожих записей является своего рода перелинковкой, то есть в нагрузку добавляется SEO-оптимизация. Другими словами, список похожих записей – это must have для каждого блока. Вот только как его прикрутить к блогу – знает далеко не каждый. Спешим вас обрадовать – сделать это не так уж сложно, как может показаться с первого взгляда. Существует два способа добавить список: легкий (при помощи плагина) и трудный (без помощи плагина). Вам останется выбрать для себя путь и следовать ему, пользуясь нашими советами.

Начнем с легкого пути, который представляет собой использование плагина Simple Tags. Данный плагин, основная функция которого связана с работой с тэгами, имеет неоценимую функцию работы с похожими записями, а конкретно – с созданием соответствующего списка. К сожалению, использование Simple Tags для нашей цели будет не оптимально, поскольку множество сопутствующих функций делают плагин слишком «тяжелым». Благо, есть другой интересный плагин под названием WordPress Related Posts, который работает исключительно со списком похожих записей, без лишних «наворотов». Данный плагин весит мало, «кушает» немного, да и смотрится отлично.

Качаем WordPress Related Posts с официального сайта (желательно найти русскую версию), затем распаковываем, закачиваем и активируем его по стандартному сценарию. После активации в шаблон придется вставить следующую строчку: < ?php wp_related_posts(); ?>. Далее переходим в настройки, где нужно будет указать заголовок, фразу при отсутствии похожих записей, и количество записей, которые будут отображаться. Кроме того, можно настроить правила исключения, работу с RSS и т.д.

Если вы не хотите связываться с плагинами, можно все сделать вручную, что исключит лишнюю нагрузку на ваш блог. Итак, трудный путь создания списка похожих записей заключается в использовании shortcode, который прописывается в functions.php. Следующие строчки ставятся между < ? и ? > в любое удобное место.

Итак, пишем:

function related_posts_shortcode( $atts ) {
    extract(shortcode_atts(array(
        'limit' => '5',
    ), $atts));

    global $wpdb, $post, $table_prefix;

    if ($post->ID) {
        $retval = '<ul>';
        // Get tags
        $tags = wp_get_post_tags($post->ID);
        $tagsarray = array();
        foreach ($tags as $tag) {
            $tagsarray[] = $tag->term_id;
        }
        $tagslist = implode(',', $tagsarray);

        // Do the query
        $q = "SELECT p.*, count(tr.object_id) as count
            FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy ='post_tag' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id  = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID
                AND p.post_status = 'publish'
                AND p.post_date_gmt < NOW()
            GROUP BY tr.object_id
            ORDER BY count DESC, p.post_date_gmt DESC
            LIMIT $limit;";

        $related = $wpdb->get_results($q);
        if ( $related ) {
            foreach($related as $r) {
                $retval .= '
    <li><a title="'.wptexturize($r->post_title).'" href="'.get_permalink($r->ID).'">'.wptexturize($r->post_title).'</a></li>
';
            }
        } else {
            $retval .= '
    <li>No related posts found</li>
';
        }
        $retval .= '</ul>
';
        return $retval;
    }
    return;
}
add_shortcode('related_posts', 'related_posts_shortcode');
}

Вот и все. Единственное, на что вам придется обратить внимание – на добавление шорткода [related_posts] в конце каждой новой заметки в вашем блоге.


Получать обновления на e-mail:

Главная > Уроки > Добавляем список похожих записей в своем блоге.

Рекомендуем посмотреть:


Оставить комментарий