複数のカスタムフィールドの値を元に記事を絞り込みたい時、’relation’パラメータの’OR’と’AND’を同時に使う書き方です。
以下のコードでは、カスタムフィールド’cf_date_01’での絞り込み条件に該当する記事、もしくは、カスタムフィールド’cf_date_02’での絞り込み条件に該当し、かつ、カスタムフィールド’cf_date_03’での絞り込み条件に該当する記事を返します。A もしくは B かつ C という条件です。
When you want to narrow down posts with multiple customfields we can use parameter Relation’s value ‘OR’ and ‘AND’ at the same time.
Code below show you how to use ‘OR’ and ‘AND’ at the same time.
It can be conditions that A or B and C.
$date = date("Y-m-d"); $query = new WP_Query( array( 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'cf_date_01', 'value' => $date, 'compare' => 'LIKE' ), array( 'relation' => 'AND', array( 'key' => 'cf_date_02', 'value' => $date, 'compare' => '<=' ), array( 'key' => 'cf_date_03', 'value' => $date, 'compare' => '>=' ) ) ) ));
参考: