wordpressのサブループでタームを複数指定して、
複数のうちどれか1つでも一致していれば、出力したいです。
タームをarrayで指定していると、すべて一致していなければならないので、それを解消できたらいいなと。
php
1<?php 2 $terms = get_the_terms($post->ID, 'blog_tag'); 3 foreach ( $terms as $term ) { 4 $args = array( 5 'posts_per_page' => 5, 6 'post_type' => 'blog', 7 'post_status' => 'publish', 8 'tax_query' => array( 9 'relation' => 'OR', 10 array( 11 'taxonomy' => 'blog_tag', 12 'field' => 'slug', 13 'terms' => array($term->slug), 14 ), 15 ), 16 'order' => 'RAND', 17 ); 18 } 19 20 $loop = new WP_Query($args); 21 if ($loop->have_posts()) : 22 while ( $loop->have_posts() ): $loop->the_post(); 23?>
現在このサブループで、その投稿のタクソノミーを取得し、termsに入力しています。(rerationは気にしないでください。)
これが複数出力されたときに、どれか1つでもタグが一致した場合出力させるという方法に変更できないのでしょうか?
ご教授いただければありがたいです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/04 11:13 編集