Query: Check if `$wp_query` is set in query loop functions.
This avoids a PHP fatal error if any of these functions are called too early: * `have_posts()` * `in_the_loop()` * `rewind_posts()` * `the_post()` * `have_comments()` * `the_comment()` bringing some consistency with conditional tags: `is_single()`, `is_home()`, etc. This commit also removes unnecessary `return` from `the_comment()`, for consistency with `the_post()`. As `WP_Query::the_comment()` does not have a return value, this statement did not have any effect in practice. Follow-up to [4934], [8807], [16947], [17068], [17083], [49147], [53395], [53396], [53400]. Props vdankbaar, thijso, teunvgisteren, timkersten655, SergeyBiryukov. Fixes #55722. Built from https://develop.svn.wordpress.org/trunk@53429 git-svn-id: http://core.svn.wordpress.org/trunk@53018 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
f4af743ea7
commit
f6412575c8
|
@ -939,6 +939,11 @@ function is_main_query() {
|
||||||
*/
|
*/
|
||||||
function have_posts() {
|
function have_posts() {
|
||||||
global $wp_query;
|
global $wp_query;
|
||||||
|
|
||||||
|
if ( ! isset( $wp_query ) ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return $wp_query->have_posts();
|
return $wp_query->have_posts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -957,6 +962,11 @@ function have_posts() {
|
||||||
*/
|
*/
|
||||||
function in_the_loop() {
|
function in_the_loop() {
|
||||||
global $wp_query;
|
global $wp_query;
|
||||||
|
|
||||||
|
if ( ! isset( $wp_query ) ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return $wp_query->in_the_loop;
|
return $wp_query->in_the_loop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -969,6 +979,11 @@ function in_the_loop() {
|
||||||
*/
|
*/
|
||||||
function rewind_posts() {
|
function rewind_posts() {
|
||||||
global $wp_query;
|
global $wp_query;
|
||||||
|
|
||||||
|
if ( ! isset( $wp_query ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$wp_query->rewind_posts();
|
$wp_query->rewind_posts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -981,6 +996,11 @@ function rewind_posts() {
|
||||||
*/
|
*/
|
||||||
function the_post() {
|
function the_post() {
|
||||||
global $wp_query;
|
global $wp_query;
|
||||||
|
|
||||||
|
if ( ! isset( $wp_query ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$wp_query->the_post();
|
$wp_query->the_post();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -999,6 +1019,11 @@ function the_post() {
|
||||||
*/
|
*/
|
||||||
function have_comments() {
|
function have_comments() {
|
||||||
global $wp_query;
|
global $wp_query;
|
||||||
|
|
||||||
|
if ( ! isset( $wp_query ) ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return $wp_query->have_comments();
|
return $wp_query->have_comments();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1008,12 +1033,15 @@ function have_comments() {
|
||||||
* @since 2.2.0
|
* @since 2.2.0
|
||||||
*
|
*
|
||||||
* @global WP_Query $wp_query WordPress Query object.
|
* @global WP_Query $wp_query WordPress Query object.
|
||||||
*
|
|
||||||
* @return null
|
|
||||||
*/
|
*/
|
||||||
function the_comment() {
|
function the_comment() {
|
||||||
global $wp_query;
|
global $wp_query;
|
||||||
return $wp_query->the_comment();
|
|
||||||
|
if ( ! isset( $wp_query ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$wp_query->the_comment();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '6.1-alpha-53428';
|
$wp_version = '6.1-alpha-53429';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue