我有一个使用“比较”的查询,试图选择特定日期之间的元数据位置:
$argsTwo = array(
\'post_type\' => \'event\',
\'meta_key\' => \'_event_information_year_select\',
\'orderby\' => \'meta_value\',
\'order\' => \'ASC\',
\'meta_query\' => array(
array(
\'relation\' => \'AND\',
array(
\'key\' => \'_event_information_year_select\',
\'value\' => 1999,
\'compare\' => \'>\'
),
array(
\'key\' => \'_event_information_year_select\',
\'value\' => 2003,
\'compare\' => \'<=\'
)
)
)
);
我的问题是,这个查询在2002年之前只提供结果。我似乎不知道出了什么问题。这些值肯定存在于数据库中,但这些$参数似乎不起作用。
有什么想法吗?
谢谢
最合适的回答,由SO网友:admcfajn 整理而成
看起来您的meta\\u查询嵌套在一个额外的数组中。除此之外,代码看起来有效。
希望这有助于:
$argsTwo = array(
\'post_type\' => \'event\',
\'meta_key\' => \'_event_information_year_select\',
\'orderby\' => \'meta_value\',
\'order\' => \'ASC\',
\'meta_query\' => array(
\'relation\' => \'AND\',
array(
\'key\' => \'_event_information_year_select\',
\'value\' => 1999,
\'compare\' => \'>\'
),
array(
\'key\' => \'_event_information_year_select\',
\'value\' => 2003,
\'compare\' => \'<=\'
)
)
);