ワードプレスのWP_Queryで、複数のタクソノミーで絞り込みする際は下記のように、
php
1$args = array( 2 'post_type' => 'post', 3 'tax_query' => array( 4 'relation' => 'AND', 5 array( 6 'taxonomy' => 'tax1', 7 'field' => 'slug', 8 'terms' => 'action1', 9 ), 10 array( 11 'taxonomy' => 'tax2', 12 'field' => 'slug', 13 'terms' => 'action2', 14 ), 15 ), 16); 17$query = new WP_Query( $args );
条件指定するとおもいますが、下記の配列部分の指定を
php
1 array( 2 'taxonomy' => 'tax1', 3 'field' => 'slug', 4 'terms' => 'action1', 5 ),
foreachで別の配列から回しながら条件作成したいので、下記のように指定してみましたが、array_mergeや +=だと、どうしても配列が上書きされてしまい、うまく配列を重複せずに追加出来ません。
※最初の例のようにarray(....),array(....)とならない
php
1 2$args = array( 3 'post_type' => 'item', 4 'post_status' => 'publish', 5 'tax_query' => array( 6 'relation' => 'AND', 7 ) 8); 9$var = array( 10 'tax1' => 'action1', 11 'tax2' => 'action2', 12 'tax3' => 'action3', 13); 14foreach ($var as $key => $value) { 15 $args["tax_query"] += array( 16 'taxonomy' => $key, 17 'field' => 'slug', 18 'terms' => $value 19 ); 20}
どのように記述したらうまく条件指定できますでしょうか?
どうぞ宜しくおねがいします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/21 01:08
2021/09/21 07:23