Суть задачи – внизу после основного контента кастомного поста нужно вывести 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/