Суть задачи – внизу после основного контента кастомного поста нужно вывести 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/
Комментарии (2) к “Выводим рекомендованные кастомные записи из кастомной таксономии”
Валерий
Спасибо Вам Денис, нашёл на этой странице, то что мне нужно. Без всяких слов добавляю ваш сайт в закладки. Спасибо.
Denis Creative
Спасибо за отзыв. Успехов!