mirror of
git://develop.git.wordpress.org/
synced 2025-02-06 23:50:43 +01:00
Query: Stop priming posts twice in WP_Query
.
Part revert of [54352]. In cases where queries are not split, then it results in priming posts that are already loaded resulting in a superfluous database query. Props spacedmonkey, flixos90, peterwilsoncc. Fixes #57373. git-svn-id: https://develop.svn.wordpress.org/trunk@55035 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
700dfe6cff
commit
5a497225b2
@ -3476,8 +3476,7 @@ class WP_Query {
|
||||
$this->posts = array_map( 'get_post', $this->posts );
|
||||
|
||||
if ( $q['cache_results'] ) {
|
||||
$post_ids = wp_list_pluck( $this->posts, 'ID' );
|
||||
_prime_post_caches( $post_ids, $q['update_post_term_cache'], $q['update_post_meta_cache'] );
|
||||
update_post_caches( $this->posts, $post_type, $q['update_post_term_cache'], $q['update_post_meta_cache'] );
|
||||
}
|
||||
|
||||
/** @var WP_Post */
|
||||
|
@ -298,7 +298,7 @@ class Tests_Post_Nav_Menu extends WP_UnitTestCase {
|
||||
$start_num_queries = get_num_queries();
|
||||
wp_get_nav_menu_items( $this->menu_id );
|
||||
$queries_made = get_num_queries() - $start_num_queries;
|
||||
$this->assertSame( 7, $queries_made, 'Only does 7 database queries when running wp_get_nav_menu_items.' );
|
||||
$this->assertSame( 6, $queries_made, 'Only does 6 database queries when running wp_get_nav_menu_items.' );
|
||||
|
||||
$args = $action->get_args();
|
||||
$this->assertSameSets( $menu_nav_ids, $args[0][1], '_prime_post_caches() was not executed.' );
|
||||
@ -339,7 +339,7 @@ class Tests_Post_Nav_Menu extends WP_UnitTestCase {
|
||||
$start_num_queries = get_num_queries();
|
||||
wp_get_nav_menu_items( $this->menu_id );
|
||||
$queries_made = get_num_queries() - $start_num_queries;
|
||||
$this->assertSame( 7, $queries_made, 'Only does 7 database queries when running wp_get_nav_menu_items.' );
|
||||
$this->assertSame( 6, $queries_made, 'Only does 6 database queries when running wp_get_nav_menu_items.' );
|
||||
|
||||
$args = $action_terms->get_args();
|
||||
$last = end( $args );
|
||||
|
Loading…
x
Reference in New Issue
Block a user