Intereting Posts

Показать сообщения из нескольких пользовательских таксономий

У меня есть несколько таксономий, применяемых к типу персонализированной почты (CPT), и когда пост CPT находится в нескольких таксономиях, сообщение публикуется только в первой таксономии, а не во всех таксономиях, где есть.

Например, скажем, что я зарегистрировал пост-тип Car и связал его с пользовательскими таксономиями Brand , Size и Color , а затем создал два автоответчика со следующими условиями:

  • Автомобильные сообщения:
    • "Автомобиль-1"
      • Марка : «Ауди»
      • Размер : "Средний"
      • Цвет : красный
    • "Автомобиль-2"
      • Бренд : «Мерседес»
      • Размер : "Средний"
      • Цвет : синий

Когда я сортирую посты « Авто» по размеру, используя следующий код, отображается только «автомобиль-1», когда «автомобиль-1» и «автомобиль-2» должны быть:

<?php /* * Loop through Categories and Display Posts within */ $post_type = 'cars'; // Get all the taxonomies for this post type $taxonomies = get_object_taxonomies( array( 'post_type' => $post_type ) ); foreach( $taxonomies as $taxonomy ) : // Gets every "category" (term) in this taxonomy to get the respective posts // $terms = get_terms( $taxonomy ); $terms = get_the_terms( $post->ID , $taxonomy ); foreach( $terms as $term ) : ?> <?php echo $term->name; ?> <?php $args = array( 'post_type' => $post_type, 'posts_per_page' => -1, //show all posts // 'relation' => 'AND', // <-- HERE I THINK IS THE PROBLEM 'tax_query' => array( array( 'taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $term->slug, ) ) ); $posts = new WP_Query($args); if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post(); ?> <?php echo get_the_title(); ?> <?php endwhile; endif; ?> <?php endforeach; endforeach; ?> 

Я думаю, проблема в строке 24 'отношение' => 'AND'.

Некоторые полезные ссылки CodeX (по крайней мере, для меня на данный момент)

1- Initializing_WP_Meta_Query

2- WP_Query (поиск: 'Показать сообщения из нескольких пользовательских таксономий:')

Кодекс говорит следующее:

 $args = array( 'post_type' => 'post', 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'movie_genre', 'field' => 'slug', 'terms' => array( 'action', 'comedy' ), ), array( 'taxonomy' => 'actor', 'field' => 'term_id', 'terms' => array( 103, 115, 206 ), 'operator' => 'NOT IN', ), ), ); $query = new WP_Query( $args ); 

и это мой код:

 $args = array( 'post_type' => $post_type, 'posts_per_page' => -1, //show all posts 'relation' => 'AND', // <-- HERE I THINK IS THE PROBLEM 'tax_query' => array( // <-- HERE I THINK IS THE PROBLEM array( // <-- HERE I THINK IS THE PROBLEM 'taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => $term->slug, ) ) ); $posts = new WP_Query($args); 

Но если я использую массив в «tax_query», чтобы добавить таксономии, я должен добавить вручную все таксономии, а вместо этого использовать цикл. Мне нужно что-то автоматическое.

Надеюсь, кто-то может мне помочь / вести меня.

Спасибо!

Solutions Collecting From Web of "Показать сообщения из нескольких пользовательских таксономий"