0

您如何根据其自定义字段之一的值显示帖子?我下面的代码似乎不起作用:

$args = array(
    'post_type' => 'sample-cpt',
    'meta_query ' => array(array('key'=>'cpt_display', 'value' => 1))
);
$samples = new WP_Query($args);

即使值为cpt_displaya ,这仍会返回所有帖子0。我错过了什么吗?

4

2 回答 2

0

尝试这个..

添加 meta_key = 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);

http://codex.wordpress.org/Class_Reference/WP_Query

于 2012-11-04T23:42:13.057 回答
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。查看请求查询,它表明通过使用数组,请求被转换为使用 SQLIN()来搜索帖子,而不是'='

...postmeta.meta_key='cpt_display' AND CAST(postmeta.meta_value AS CHAR) IN ('1'))...

来源:按​​自定义字段日期范围显示自定义帖子类型

于 2012-11-05T05:44:07.217 回答