我正在尝试执行以下代码:
$today123 = date(\'Ymd\');
$args123 = array (
\'post_type\' => \'myType\',
\'meta_query\' => array(
\'relation\'=>\'AND\',
array(
\'key\' => \'date\',//this is a custom field, not the std \'date\' field of wp
\'compare\' => \'>=\',
\'value\' => $today123,
)
),
\'posts_per_page\' => 10,
\'orderby\' => \'meta_value_num\',
\'order\' => \'ASC\'
);
$variable=new WP_Query($args123);
为了根据自定义字段筛选自定义帖子类型,我按照预期在循环中使用查询,并通过几个var\\u导出检查输出
查询完全忽略了我的meta\\u查询(我尝试删除orderby,但即使没有它,也无法应用metaquery)
所以我对代码进行了一些调整,在各种情况下检查各种结果,我发现了一些东西,
如果使用
\'compare\' => \'>=\',
它会被忽略,并返回所有帖子,即使没有
\'meta_date\' >= date(\'Ymd\')
但如果我使用完全相同的代码
\'compare\' => \'<=\',
神奇地,过滤器得到应用,并按我所期望的那样工作<;=与工作相比。
我可能在这里遗漏了什么,我需要检索meta\\u date值大于或等于date(\'Ymd\')的“myType”帖子,并按meta\\u数据按ASC顺序对其排序。。。
为什么比较“<;=”工作并比较“>=”不工作?我怎样才能达到我想要的结果?
编辑:
“有趣的”发现:如果我不按orderby和order,比较>=作品。。。