为什么赢得meta_value会识别数值" 1"?

时间:2016-03-11 22:38:02

标签: php wordpress wordpress-theming

我目前正在撰写一个杂志网站,其中包含多个问题和各种类型的文章。我为自定义字段issue number分配了一个变量,并将其包含在我的查询中,以便仅显示当前页面问题中的帖子。这是查询。

$args = array(
                'post_type' => array('story','letter','interview'),
                'meta_query' => array(
                    array(
                        'value' => "$issue_number",
                        ),
                    ),
                );
            $my_query = new WP_Query( $args ); 

这适用于除第一个问题之外的所有问题。出于某种原因,我的查询将无法识别数字值" 1",所以我必须逐字拼出"一个"在自定义字段中,属于第一个问题中的所有文章。

1 个答案:

答案 0 :(得分:0)

您的meta_query不完整。您需要指定一个键,因为它是一个数值,您必须设置类型。您还需要删除值周围的引号。

'meta_query' => array(
    array(
        'key'   => '_my_issue_number_key',
        'value' => $issue_number,
        'type'  => 'NUMERIC',
    ),
),

请注意,问题可能不在您的查询中,而在于您保存值的方式。值'1'很容易与'true'混淆。如果您在进行上述更改后仍然遇到问题,请打开postmeta表并检查存储的值。