日付
開始日(schedule_start)と終了日(schedule_end)の間に今日($today)が入っていれば記事を取得する。ちなみに、今回はサブフィールドをキーに指定するので、フィールド(schedule)とサブフィールド(start)をアンスコでつないで「schedule_start」にします。
$today = date('Ymd');
$query = new WP_Query([
// 中略
'meta_query' => array(
'relation' => 'AND',
[
'key' => 'schedule_start',
'compare' => '<=',
'value' => $today,
'type' => 'DATE'
],
[
'key' => 'schedule_end',
'compare' => '>=',
'value' => $today,
'type' => 'DATE'
]
)
]);
数値
金額(price)順にソートして取得する。カスタムフィールドをキーにソートするには'orderby' => 'meta_value'
を使います。しかしこのままだと値が文字列として扱われ期待通りにソートされないので、'orderby' => 'meta_value_num'
にします。
$query = new WP_Query([
// 中略
'orderby' => 'meta_value_num', // _num をつけることで数値としてソートされる
'meta_key' => 'price',
'order' => 'ASC',
'meta_query' => [
'relation' => 'AND',
[
'key' => 'price',
'compare' => 'EXISTS',
]
]
]);