Выводим рекомендованные кастомные записи из кастомной таксономии
Суть задачи — внизу после основного контента кастомного поста нужно вывести 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/
Краткое вступление. Есть сайт на WordPress, сайт живой, посещаемый и вполне рабочий. Нужно внести какие-то…
Задача такая: просмотреть несколько сайтов и найти изображения, которые не оптимизированны для web’а, так как…
Задача такая — разместить в поcты на WordPress рекламные баннеры. Есть несколько вариантов: Вариант 1…
Плагин для вывода тегов Open Graph для социальных сетей — Facebook Open Graph, Google+ and…
4 комментария
Ответить
Спасибо Вам Денис, нашёл на этой странице, то что мне нужно. Без всяких слов добавляю ваш сайт в закладки. Спасибо.
Спасибо за отзыв. Успехов!
Спасибо, очень полезная штука, правда, если не присвоен термин в кастомной таксономии, упорно рекомендует посты с такими же незаполненными терминами, что напрочь убивает смысл и, наоборот, делает хуже.
Добавил предварительное условие, вот так:
…
if(!empty($customTaxonomyTerms)){
if($relatedPosts->have_posts()){
….
Так все отлично работает.
Спасибо за дополнение, надо будет проверить.