From ad517e9c127b1813f37506f283f633394f427e45 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Mon, 9 May 2022 13:51:15 +0000 Subject: [PATCH] Query: Restore late `compact()` call for the `posts_clauses_request` filter. This addresses a backward compatibility break where `posts_join_request` and other filters were applied, but their results were subsequently discarded and earlier values were used instead. Follow-up to [52974], [53175]. Props 5um17, johnbillion, SergeyBiryukov. Fixes #55699. Built from https://develop.svn.wordpress.org/trunk@53370 git-svn-id: http://core.svn.wordpress.org/trunk@52959 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/class-wp-query.php | 8 +++++--- wp-includes/version.php | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/wp-includes/class-wp-query.php b/wp-includes/class-wp-query.php index ef9e0668a1..1c89b8630f 100644 --- a/wp-includes/class-wp-query.php +++ b/wp-includes/class-wp-query.php @@ -2754,8 +2754,6 @@ class WP_Query { } } - $clauses = array( 'where', 'groupby', 'join', 'orderby', 'distinct', 'fields', 'limits' ); - /* * Apply post-paging filters on where and join. Only plugins that * manipulate paging queries should use these hooks. @@ -2835,6 +2833,8 @@ class WP_Query { */ $fields = apply_filters_ref_array( 'posts_fields', array( $fields, &$this ) ); + $clauses = array( 'where', 'groupby', 'join', 'orderby', 'distinct', 'fields', 'limits' ); + /** * Filters all query clauses at once, for convenience. * @@ -2967,6 +2967,8 @@ class WP_Query { */ $limits = apply_filters_ref_array( 'post_limits_request', array( $limits, &$this ) ); + $clauses = array( 'where', 'groupby', 'join', 'orderby', 'distinct', 'fields', 'limits' ); + /** * Filters all query clauses at once, for convenience. * @@ -2990,7 +2992,7 @@ class WP_Query { * } * @param WP_Query $query The WP_Query instance (passed by reference). */ - $clauses = (array) apply_filters_ref_array( 'posts_clauses_request', array( $clauses, &$this ) ); + $clauses = (array) apply_filters_ref_array( 'posts_clauses_request', array( compact( $clauses ), &$this ) ); $where = isset( $clauses['where'] ) ? $clauses['where'] : ''; $groupby = isset( $clauses['groupby'] ) ? $clauses['groupby'] : ''; diff --git a/wp-includes/version.php b/wp-includes/version.php index f93ffd5460..b1c63ca537 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.1-alpha-53368'; +$wp_version = '6.1-alpha-53370'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.