diff --git a/wp-includes/post.php b/wp-includes/post.php index 3bfede95da..97a3fb8f77 100644 --- a/wp-includes/post.php +++ b/wp-includes/post.php @@ -7489,6 +7489,22 @@ function update_post_author_caches( $posts ) { cache_users( $author_ids ); } +/** + * Prime post parent post caches. + * + * @since 6.1.0 + * + * @param WP_Post[] $posts Array of Post objects. + */ +function update_post_parent_caches( $posts ) { + $parent_ids = wp_list_pluck( $posts, 'post_parent' ); + $parent_ids = array_map( 'absint', $parent_ids ); + $parent_ids = array_unique( array_filter( $parent_ids ) ); + if ( ! empty( $parent_ids ) ) { + _prime_post_caches( $parent_ids, false ); + } +} + /** * Updates metadata cache for a list of post IDs. * diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php index ae203b41aa..87de7a2421 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php @@ -369,6 +369,7 @@ class WP_REST_Posts_Controller extends WP_REST_Controller { $posts = array(); + update_post_parent_caches( $query_result ); update_post_author_caches( $query_result ); if ( post_type_supports( $this->post_type, 'thumbnail' ) ) { update_post_thumbnail_cache( $posts_query ); diff --git a/wp-includes/version.php b/wp-includes/version.php index 156d365e26..1ef3f915b6 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.1-alpha-53505'; +$wp_version = '6.1-alpha-53506'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.