小编umi*_*erd的帖子

什么时候初始化$ wp_query以及如何覆盖它?

我正在尝试使用WP_Queryobject 编写新的查询函数.

我创建了一个新的模板文件并放入以下内容:

        $query_args = array(
            'post_type' => 'page',
            'post_parent=41',
        );

        // The Featured Posts query.
        $results = new WP_Query($query_args);
Run Code Online (Sandbox Code Playgroud)

但无论我使用什么参数,查询都不会改变.看起来好像查询已经初始化并且创建新WP_Query查询对现有查询没有任何影响.

在我的代码之前调用的唯一的wordpress函数get_header()不包括对WP_Queryor的任何调用query_posts.

我把以下行找出实际的sql查询是什么:

echo $GLOBALS['wp_query']->request;
Run Code Online (Sandbox Code Playgroud)

实际的sql查询是:

SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND (wp_posts.ID = '14') AND wp_posts.post_type = 'page' ORDER BY wp_posts.post_date DESC
Run Code Online (Sandbox Code Playgroud)

当我改变我的时候,这个查询不会改变$query_args.

我想知道全局变量何时$wp_query被初始化,我应该怎么做才能使用我自己的查询?

wordpress

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

wordpress ×1