From a5db52030f2a79df2d2ee54dc6a6b2f67a3a69e7 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Sat, 14 May 2022 15:10:14 +0000 Subject: [PATCH] Query: Check if `$wp_query` is set in `is_main_query()`. This avoids a PHP fatal error and triggers a `_doing_it_wrong()` notice if `is_main_query()` is called too early, bringing consistency with all the other `is_*()` conditionals: `is_single()`, `is_home()`, etc. Follow-up to [16947], [17068], [17083], [18699], [37985]. Props vdankbaar, nhadsall, johnbillion, costdev, thijsoo, teunvgisteren, timkersten655, SergeyBiryukov. Fixes #55104. Built from https://develop.svn.wordpress.org/trunk@53395 git-svn-id: http://core.svn.wordpress.org/trunk@52984 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/query.php | 5 +++++ wp-includes/version.php | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/wp-includes/query.php b/wp-includes/query.php index b915119c35..7a210b09f1 100644 --- a/wp-includes/query.php +++ b/wp-includes/query.php @@ -901,6 +901,11 @@ function is_embed() { 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__, diff --git a/wp-includes/version.php b/wp-includes/version.php index 6037b8eb06..0948cfb966 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.1-alpha-53394'; +$wp_version = '6.1-alpha-53395'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.