Выводим рекомендованные кастомные записи из кастомной таксономии

31.10.2019
TemplateMonster - лучшая коллекция шаблонов для CMS WordPress

Суть задачи – внизу после основного контента кастомного поста нужно вывести 3 записи, рекомендуемые к чтению. Эти записи должны выводиться из той же категории, что и сам пост.

Как создавать кастомные таксоноии и записи подробнее в этой статье Создаем кастомный тип записи (Custom Post Type) с кастомными категориями (Custom Taxonomy)

Рекомендуемые посты в WordPress очень полезны для удержания аудитории на сайте, а так же для перелинковки статей. Вывести список похожих постов или постов из той же рубрики можно без всяких плагинов, достаточно добавить несложный код в шаблон кастомного типа записи single-custom_post_type.php. single-custom_post_type.php – это файл, в котором будут выводиться рекомендованные записи, например, это может быть single-book.php.

Исходные данные:
'post_type' – это кастомный тип записи
'taxonomy' – таксономия кастомного типа записей
'posts_per_page' – количество рекомендуемых записей
'post__not_in' – вывод постов кроме указанных, в нашем случае, кроме текущего поста

Код вывода похожих кастомных записей из той же таксономии:

<?php

//get the taxonomy terms of custom post type
$customTaxonomyTerms = wp_get_object_terms( $post->ID, 'your_taxonomy', array('fields' => 'ids') );

//query arguments
$args = array(
    'post_type' => 'your_custom_post_type',
    'post_status' => 'publish',
    'posts_per_page' => 3,
    'orderby' => 'date',
    'order' => 'DESC',
    'tax_query' => array(
        array(
            'taxonomy' => 'your_custom_taxonomy',
            'field' => 'id',
            'terms' => $customTaxonomyTerms
        )
    ),
    'post__not_in' => array ($post->ID),
);

//the query
$relatedPosts = new WP_Query( $args );

//loop through query
if($relatedPosts->have_posts()){
    echo '<ul>';
    while($relatedPosts->have_posts()){ 
        $relatedPosts->the_post();
?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
    }
    echo '</ul>';
}else{
    //no posts found
}

//restore original post data
wp_reset_postdata();

?>

Источник – https://www.codexworld.com/wordpress-custom-post-type-related-posts/

TemplateMonster - лучшая коллекция шаблонов для CMS WordPress

Полезная инфа:

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