Я пытаюсь показать модуль со связанными продуктами на одной странице поста.
Я создал cpt под названием «Продукт» и таксономию под названием «категория».
Что я хочу сделать, так это показать на отдельной странице постов другие продукты той же категории.
До сих пор я успешно добавлял другие сообщения с помощью функции wp_get_recent_post, но, конечно, я получал все сообщения.
как я могу передать класс на запрос?
это мой код:
<?php
$args = array(
'numberposts' => '4',
'orderby' => 'rand',
'post_type' => 'product',
'post_status' => 'publish'
);
$recent_posts = wp_get_recent_posts( $args );
foreach( $recent_posts as $recent ){
echo '<div class="col-md-3"><a href="' . get_permalink($recent["ID"]) . '">'. get_the_post_thumbnail($recent["ID"], 'thumbnail' ) . $recent["post_title"].'</a> </div> ';
}
?>
благодарю вас
Редактировать.
я решил так:
$terms = get_the_terms( $post->ID , 'category' );
if ( $terms != null ){
foreach( $terms as $term );
}
$args = array(
'post_type' => 'product',
'post__not_in' => array($post->ID),
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $term->slug))
);
$recent_posts = wp_get_recent_posts( $args );
foreach( $recent_posts as $recent ){
echo '<div class="col-md-3"><a href="' . get_permalink($recent["ID"]) . '">'. get_the_post_thumbnail($recent["ID"], 'thumbnail' ) . $recent["post_title"].'</a> </div> ';
}
использование get_posts()
(кодекс):
$related = get_posts( $args );
foreach( $related as $post ){
setup_postdata( $post );
echo '<div class="col-md-3"><a href="' . get_permalink() . '">'. get_the_post_thumbnail( get_the_ID(), 'thumbnail' ) . get_the_title() . '</a></div>';
}
wp_reset_postdata();
Других решений пока нет …