私は以下のように質問があります:
$wp_query = new WP_Query(
'meta_key' => 'end_date',
'meta_value' => 'today',
'meta_compare' => '>=',
'post_type' => 'vehicle'
);
今日の日付より後の日付を含むメタキーend_dateを持つ車両投稿タイプの投稿のみを表示します。
どのようにこれを達成することができますか?
まず、年、月、日、時、分、秒など、最大から最小の単位に降順で日付形式を指定する必要があります。それ以外の場合、MySQLはフィールドに対してクエリまたは順序を指定できません。この例では、年月日を使用します。
$today = date( 'Y-m-d' );
$args = array(
'post_type' => 'vehicle',
'meta_query' => array(
array(
'key' => 'end_date',
'value' => $today,
'compare' => '>=',
'type' => 'DATE'
)
)
):
$query = new WP_Query( $args );
WordPressは3.7にDate Queriesを追加しました。だからあなたはいつでも試すことができます:
$today = date( 'Y-m-d' );
$args = array(
'post_type' => 'vehicle',
'date_query' => array(
//set date ranges with strings!
'after' => 'today',
//allow exact matches to be returned
'inclusive' => true,
),
);
$query = new WP_Query( $args );
これについての詳細は https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters にあります。