Php Wordpress查询发布结果与wp查询请求结果不同

Php Wordpress查询发布结果与wp查询请求结果不同,php,mysql,wordpress,Php,Mysql,Wordpress,我有一个多站点Wordpress设置(3.5.1,我不能冒险更新),在切换到正确的博客后,我正在查询一些帖子 我有一个带有以下参数的查询函数: $posts = query_posts('posts_per_page=5&paged=1&post_status=publish&orderby=date&order=desc'); 通过对帖子的查询,查询变量变为($GLOBALS['wp\u query']->query\u vars): Wordpress表示,

我有一个多站点Wordpress设置(3.5.1,我不能冒险更新),在切换到正确的博客后,我正在查询一些帖子

我有一个带有以下参数的查询函数:

$posts = query_posts('posts_per_page=5&paged=1&post_status=publish&orderby=date&order=desc');
通过对帖子的查询,查询变量变为(
$GLOBALS['wp\u query']->query\u vars
):

Wordpress表示,它执行的查找这些帖子的查询是(
$GLOBALS['wp\u query']->request
):

如果在数据库上执行此查询,则生成的ID为:

12059
12046
12038
12030
12026
但是,如果我在帖子上循环:

foreach($posts as $p){
    echo($p->ID."<br>");
}
有人知道这是怎么可能的吗?在调用query_posts之前,数组$posts是空的,我不理解为什么这些posts出现在数组中。如果我在MySQL数据库中手动选择这些帖子,它们之间没有明显的区别,这会使前三篇文章在某种程度上变得特别,而且这三篇文章都比其他5篇文章要老


提前谢谢

您是否尝试查看这两个查询的帖子类型?我记得有一次我遇到这个问题,我用wp_query和query_posts查询post,在一个例子中,我只得到post,在另一个例子中,我得到了所有页面/媒体附件和post

它们都是“post”类型。。。谢谢你的回复!
12059
12046
12038
12030
12026
foreach($posts as $p){
    echo($p->ID."<br>");
}
11741
11721
11643
12059
12046
12038
12030
12026