WP_Query()和query_posts()的结果不同

时间:2014-05-24 20:59:16

标签: php wordpress

我正在运行WordPress 3.8.1,而且我很难使用WP_Query()获得正确的结果。 我使用带有这些参数的数组:

$args = array(
  'tag_slug__and' => array('usa', 'china'),
  'category__and' => array(211, 420),
  'posts_per_page' => '-1',
  's' => 'money',
);

以下代码就像我想要的那样工作:

$GLOBALS['wp_query'] = new WP_Query();
return $GLOBALS['wp_query']->query($args);

然而这给了我一个空洞的结果:

$obj = new WP_Query();
$posts = $obj->query($args);
return $posts;

我var_dumped每个对象,它们看起来完全相同,除了一个区别 - 第一个代码有一个"帖子"结果键,而第二个代码有一个空的"帖子"键。 (我发现SQL没有差异)

上面的第一个代码直接来自query_posts()。

我应该补充一下" s"参数中的键会影响结果。如果我删除包含搜索字符串的行(" s"键),则第二个代码也可以。

我是否必须使用$ GLOBALS才能将其与#34; s"?

一起使用

0 个答案:

没有答案