spot_img
HomeWordPress教程wordpress建站公司 如何知道哪个是主要查询?

wordpress建站公司 如何知道哪个是主要查询?

spot_img

JasperAI 10000字免费额度试用

我只是对使用的查询执行了操作 pre_get_posts 它没有用。 当我删除 $query->is_main_query() 它确实有效。

那么,您怎么知道什么是主要查询。 我知道有这个功能 is_main_query. 我问的是有没有办法告诉你正在看哪个? WordPress 如何知道哪个是主要查询? 如果您出于不同的原因(例如类别、帖子类型、页面)有三四个。 哪个是主要的?

WordPress divi主题

WP_Query->is_main_query() 方法源代码(同名函数调用)非常简短:

function is_main_query() {
    global $wp_the_query;
    return $wp_the_query === $this;
}

主查询是存储在 $wp_the_query 全球的。 但什么是全球性的? 当 WP 设置主查询时,它将它存储在两个地方: $wp_the_query$wp_query. 后者更为人所知,因为该变量是您通常用于处理主查询的变量,以及什么 query_posts() 变化。

然而 query_posts() 像这样工作:

function query_posts($query) {
    $GLOBALS['wp_query'] = new WP_Query();
    return $GLOBALS['wp_query']->query($query);
}

它打破了之间的联系 $wp_query$wp_the_query. 反过来可以执行 wp_reset_query() 重新确定:

function wp_reset_query() {
    $GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
    wp_reset_postdata();
}

所以主查询是 WP 在核心加载期间设置的查询。

通常是什么 $wp_query 成立,除非它被修改为不再是主要查询。

高质量外链购买
5分钟生成10篇英文软文article forge软件试用
siteground guangda
WordPress花园官方账号
WordPress花园隶致力于为广大跨境电商和独立站爱好者提供优质的WordPress教程、Woocommerce教程、Facebook、Twitter、tiktok、Instagram教程和谷歌SEO教程等资料和对应的建站推广服务。关注‘哟派出海’公众号了解最新资讯。粉丝福利:Shopline免费独立站建设14天优惠 商务合作: [email protected]
RELATED ARTICLES