WP_QUERY返回匹配,没有条件

时间:2017-09-11 作者:Eddie

我有一个小的搜索表单,可以重定向到基于“想法编号”的页面。创意编号是唯一的编号,因此任何时候都只能有一个匹配项。但我的查询失败,没有任何条件。以下代码将。。

如果idea\\u num匹配,则完全重定向。如果没有匹配,则重定向回原始页面,并返回错误If no criteria... it still will redirect to a page where the idea_num doesn\'t match??? What am I missing here?


$post_types = array("cool_ideas", "bad_ideas");

$args = array(
    \'numberposts\'   => 1,
    \'post_type\'     => $post_types,
    \'meta_key\'      => \'idea_num\',
    \'meta_value\'    => $idea_num,
    \'post_status\'   => \'publish\'
);

$the_query = new WP_Query( $args );

if( $the_query->have_posts()){
    $the_query->the_post();
    wp_safe_redirect(get_permalink(get_the_ID()));
    exit();
}else{
    wp_safe_redirect(get_permalink($ref_pid) . \'?idea=\' . $idea_num);
    exit();
}

wp_reset_query();

1 个回复
SO网友:Eddie

在深入研究了一个大问题之后,我通过$the\\u query->request查看实际的SQL发现,如果没有识别出元值,它将返回true,因为查询消除了它。

解决方案是简单地将meta包含为一个数组,并使用“compare”操作符。

结束

相关推荐

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

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