array_merge関数は対象の配列の最後に追加する配列を結合します。第一引数に対象の配列、第二引数に追加する配列を指定します。
array_push(対象の配列,追加する配列);
以下はWordpressのカスタム投稿をカスタムタクソノミーで絞り込んでWP_Queryで出力する際の条件です。
<?php
$args = array(
'post_type' => 'faq',
'post_status' => 'publish',
'posts_per_page' => -1,
'tax_query' => array(
array(
'relation' => 'OR',
'taxonomy' => 'faq-category',
'field' => 'term_id',
'terms' => $terms,
)
)
);
?>
カスタムタクソノミーの絞り込み部分を後から配列に結合する場合、array_merge関数を使用して以下のように記述します。
$args = array(
'post_type' => 'faq',
'post_status' => 'publish',
'posts_per_page' => -1,
);
$add_args = array(
'tax_query' => array(
array(
'relation' => 'OR',
'taxonomy' => 'faq-category',
'field' => 'term_id',
'terms' => $terms,
)
)
);
$args = array_merge($args, $add_args);
なお[]を使用して以下のように記述しても同様の結果が得られます。
$args = array(
'post_type' => 'faq',
'post_status' => 'publish',
'posts_per_page' => -1,
);
$args['tax_query'][] = array(
'relation' => 'OR',
'taxonomy' => 'faq-category',
'field' => 'term_id',
'terms' => $terms,
);
