我目前正在开发一个小部件,它在网站上返回一个随机特性属性,但我的WP\\u查询参数有一些问题。
在后端,我有两个复选框元字段“特色”和“隐藏”。我想返回一篇帖子,其中选中了“特色”字段,未选中“隐藏”字段。我的问题如下:
$query_args = array(
\'posts_per_page\' => \'1\',
\'orderby\' => \'rand\',
\'post_type\' => \'nc_property\',
\'meta_query\' => array(
array(
\'key\' => \'nc_featured\',
\'value\' => \'on\',
\'compare\' => \'=\'
),
array(
\'key\' => \'nc_hidden\',
\'value\' => \'on\',
\'compare\' => \'!=\'
)
)
);
如果删除第二个数组,查询将返回一个随机特征属性,因此问题在于
nc_hidden
元查询,但我没有看到它。
检查未检查的元值的正确方法是什么?
干杯
最合适的回答,由SO网友:Jazibobs 整理而成
问题是,如果未选中nc\\U hidden met属性,则该属性不存在,因此基本上没有可查询的值。
我将复选框中隐藏的nc\\U替换为select,并根据需要更新我的查询。工作查询现在如下所示:
$query_args = array(
\'posts_per_page\' => \'1\',
\'orderby\' => \'rand\',
\'post_type\' => \'nc_property\',
\'meta_query\' => array(
array(
\'key\' => \'nc_featured\',
\'value\' => \'on\',
\'compare\' => \'=\'
),
array(
\'key\' => \'nc_hidden\',
\'value\' => \'Visible\',
\'compare\' => \'=\'
)
)
);
谢谢@Milo为我指明了正确的方向。