У вас в блоге есть четкая структура рубрик для ваших записей? Если да — то вам точно пора создать секцию с "Похожими записями" для вашего блога. Это позволит обогатить ссылками создаваемый контент за счет показа тематически связанных постов.

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

Смотрите также:

Покажите читателям, что вам есть о чем еще рассказать

Ели ваши посты организованы по рубрикам, то полезно составить список постов из одной рубрики. При этом не всегда вкладка "Похожие записи" является оптимальным решением.

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

Куда правильнее отображать список релевантных постов в одной колонке или в одном блоке под опубликованной частью контента.

Создаем список "Похожие записи"

Как вы уже наверняка догадались, перечень самых свежих постов в рамках одной выбранной рубрики будет намного проще организовать, чем выборку по тегам. Нам просто надо выбрать рубрику для конкретного поста и указать число постов в рамках выбранной рубрики, исключив из выборки тот пост, который в настоящий момент читает посетитель нашего сайта. Всё, что нам надо, — это передать значения аргументов для функции get_posts().

<?php
// "More from This Category" list by Barış Ünver @ Wptuts+
function wptuts_more_from_cat( $title = "More From This Category:" ) {
    global $post;
    // We should get the first category of the post
    $categories = get_the_category( $post->ID );
    $first_cat = $categories[0]->cat_ID;
    // Let's start the $output by displaying the title and opening the <ul>
    $output = '<div id="more-from-cat"><h3>' . $title . '</h3>';
    // The arguments of the post list!
    $args = array(
        // It should be in the first category of our post:
        'category__in' => array( $first_cat ),
        // Our post should NOT be in the list:
        'post__not_in' => array( $post->ID ),
        // ...And it should fetch 5 posts - you can change this number if you like:
        'posts_per_page' => 5
    );
    // The get_posts() function
    $posts = get_posts( $args );
    if( $posts ) {
        $output .= '<ul>';
        // Let's start the loop!
        foreach( $posts as $post ) {
            setup_postdata( $post );
            $post_title = get_the_title();
            $permalink = get_permalink();
            $output .= '<li><a href="' . $permalink . '" title="' . esc_attr( $post_title ) . '">' . $post_title . '</a></li>';
        }
        $output .= '</ul>';
    } else {
        // If there are no posts, we should return something, too!
        $output .= '<p>Sorry, this category has just one post and you just read it!</p>';
    }
    // Let's close the <div> and return the $output:
    $output .= '</div>';
    return $output;
}
?>

Вот и всё! Вы можете включить эту функцию в состав файла functions.php (или сохранить в качестве отдельного плагина) и сделать вызов для этой функции с помощью

<?php echo wptuts_more_from_cat( 'Похожие записи:' ); ?>

в любой части сайта, где нам надо вставить блок связанных постов в рамках файла single.php.

Заключение

Да, контент рулит, но если каждый пост "гуляет сам по себе", то перспективность его весьма сомнительна, А вот связанный с контентом список постов и ссылок позволит обогатить страницу и предложит вашим читателям что-то стоящее.

А вы собираетесь добавлять связанные посты и тематики на страницы своего блога к опубликованным постам? Если да — обязательно поделитесь своим опытом в комментариях!

Источник: WP.tutsplus.com

Вам понравился материал?

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

6 комментариев

сначала новые
по рейтингу сначала новые по хронологии

а как сделать, чтобы в записях одних рубрик показывались похожие посты, а в других - нет?
exclude использовать, насколько я понимаю, или нет?

Makc Rencontrez

Очень не плохо =)

использую готовый плагин: Yet Another Related Posts Plugin

выглядит так как в приложении ( или тут: http://morikoff.ru )

О, Aville, спасибо за плагин. Поставила-суперрр!

как бывает очень СПАСИБО за добрые слова :)

Александр

А пример не привели :(