如何根据其中一个自定义字段的值显示帖子?我的代码似乎不起作用:
$args = array(
'post_type' => 'sample-cpt',
'meta_query ' => array(array('key'=>'cpt_display', 'value' => 1))
);
$samples = new WP_Query($args);
即使cpt_display
的值为0
,这仍会返回所有帖子。我错过了什么吗?
答案 0 :(得分:0)
试试这个..
添加meta_key =键作为args的一部分, 然后再将它包含在meta_query数组
中 $args = array(
'post_type' => 'sample-cpt',
'meta_key' => 'key',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'key',
'value' => 1
)
)
);
$samples = new WP_Query($args);
答案 1 :(得分:0)
我找到了答案。 'meta_value'
的值必须是数组而不是字符串。这与WP_Query Codex有很大的偏差,需要修复。
$args = array(
'post_type' => 'sample-cpt',
'meta_key' => 'cpt_display',
'meta_value' => array(1)
);
$samples = new WP_Query($args);
wp_reset_query();
现在它只显示自定义字段值为1
的帖子。查看请求查询,它显示通过使用数组,请求转换为使用SQL IN()
来搜索帖子而不是'='
:
...postmeta.meta_key='cpt_display' AND CAST(postmeta.meta_value AS CHAR) IN ('1'))...