is_main_query

函数
is_main_query ( No parameters )
返回值
  • (bool) Whether the query is the main query.
定义位置
相关方法
is_main_siteis_main_networkis_main_blog_admin_search_queryuser_admin_url
引入
3.3.0
弃用
-

is_main_query: 这个函数检查当前的查询是否是主查询。主查询是WordPress用来显示页面主要内容的查询: 当你需要修改主查询或只在主查询上执行一些代码时,这个函数很有用。

确定该查询是否为主要查询。

关于这个和类似的主题功能的更多信息,请查看《主题开发者手册》中的 {@link Conditional Tags} 文章。

function is_main_query() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '6.1.0' );
		return false;
	}

	if ( 'pre_get_posts' === current_filter() ) {
		_doing_it_wrong(
			__FUNCTION__,
			sprintf(
				/* translators: 1: pre_get_posts, 2: WP_Query->is_main_query(), 3: is_main_query(), 4: Documentation URL. */
				__( 'In %1$s, use the %2$s method, not the %3$s function. See %4$s.' ),
				'<code>pre_get_posts</code>',
				'<code>WP_Query->is_main_query()</code>',
				'<code>is_main_query()</code>',
				__( 'https://developer.wordpress.org/reference/functions/is_main_query/' )
			),
			'3.7.0'
		);
	}

	return $wp_query->is_main_query();
}

常见问题

FAQs
查看更多 >