WP_Query 与 meta_query 和自定义字段的值为 0

Posted

技术标签:

【中文标题】WP_Query 与 meta_query 和自定义字段的值为 0【英文标题】:WP_Query With meta_query and Value of Custom Field as 0 【发布时间】:2011-07-26 04:17:56 【问题描述】:

我遇到了一些意外行为。我在我的帖子中添加了一个自定义的“评级”文件。我要统计某个评分的帖子数:

$args = 数组(
    'post_status' => '发布',
    'meta_query' => 数组(
        大批(
            '关键' => '评级',
            '比较' => '=',
            '价值' => 7
        )
    )
);
$posts = 新的 WP_Query($args);
echo $posts->post_count;

当我将值设置为 7 时,它会回显该评级的正确帖子数。但由于某种原因,如果我将值设置为 0,它会与已发布帖子的总数相呼应。我错过了什么?

【问题讨论】:

可能是过滤器将 0 解释为布尔值,请尝试以 (int)0 为前缀 【参考方案1】:

我不知道为什么,但当我需要它时,我只使用 compare = '

我认为 wordpress 使用 0 作为空变量或 null 变量,而不是实际为零。

【讨论】:

【参考方案2】:

我做了一点挖掘,这似乎与 php 的“空”函数有关。这将在 WordPress 3.2 中修复。详情在这里:http://core.trac.wordpress.org/ticket/15292

【讨论】:

以上是关于WP_Query 与 meta_query 和自定义字段的值为 0的主要内容,如果未能解决你的问题,请参考以下文章

wp_query 和 meta_query 用于转发器字段值

php wp_query多个meta_query参数

在 wp_query 中结合关键字搜索和税务查询

WP_查询 |数组序列化形式的 meta_query 参数元值

Wordpress - 在类别存档中使用 wp_query - 如何显示适当的类别?

具有多个自定义帖子类型和多个日期列名称的复杂 meta_query 和 orderby