无法使简单的元查询起作用

时间:2013-11-19 作者:Mark

我无法让这个简单的元查询工作,我也不知道为什么。

我注册了一个自定义的post类型,称为“ef\\u project”。我有几个使用post类型创建的测试帖子,每个帖子都有一个名为“project\\u status”的Posteta字段,值可以是“draft”、“inactive”、“expired”,我还创建了几个带有每个值的帖子。

该查询确实返回我创建的“ef\\u project”帖子,但不会将列表向下筛选到project\\u status元字段为“draft”的帖子,而是显示任何ef\\u project帖子,而不管其“project\\u status”元字段值如何。我做错了什么?

// The Query
$the_query = new WP_Query(
    array(
    \'post_type\' => \'ef_project\', 
    \'meta_query\' =>
        array(
            array(
                \'key\' => \'project_status\',
                \'value\' => \'draft\',
                \'type\' => \'string\',
                \'compare\' => \'=\'
            )
        ),
    )
);

// Test Loop
if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo \'<li>\' . get_the_title() . \' -  Status: \' . get_post_meta(get_the_ID(), \'project_status\', true) .  \'</li>\';
    }
}

1 个回复
SO网友:Maruti Mohanty

看来\'type\' => \'string\' 是不对的

From the codex

类型(字符串)-自定义字段类型。可能的值为“NUMERIC”、“BINARY”、“CHAR”、“DATE”、“DATETIME”、“DECIMAL”、“SIGNED”、“TIME”、“UNSIGNED”。默认值为“CHAR”。

请尝试从代码中删除上面的行,并检查或尝试使用下面的行。

\'type\' => \'CHAR\'

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post