У меня есть следующий фрагмент кода, который должен вернуть 6 сообщений, связанных с текущим сообщением по тегу, и 6 сообщений должны быть теми, которые имеют таксономию в формате видео:
if('artists' == get_post_type()){
$taxs = wp_get_post_tags($post->ID);
$name = the_title();
if($taxs){
$tax_ids = array();
foreach ($tax_ids as $individual_tax){
$tax_ids[] = $individual_tax->term_id;
}
gs = array(
'post_type' =>'post',
'tag__in'=> $tax_ids,
'tax_query' =>array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array('post-format-video')
),
),
'post__not_in' => array($post->ID),
'posts_per_page' => 6,
'ignore_sticky_posts' => 1,
);
$video_query = new WP_QUERY($args);
// other code comes here .........
Проблема в том, что когда я запускаю запрос, он возвращает все сообщения в формате видео, а не те, у которых есть связанные теги в качестве текущего просматриваемого сообщения. Пожалуйста, помогите мне решить это.
Позвольте мне привести это в качестве примера: в текущем сообщении есть тег «Апельсины». В разделе связанных постов я хочу, чтобы он отображал посты, которые также имеют тег под названием «Апельсины», но только те, которые имеют таксономию в формате видео.
Ваш foreach
цикл должен быть:
foreach ($taxs as $individual_tax)
и не:
foreach ($tax_ids as $individual_tax)
Других решений пока нет …