Media: Prime post caches in 'wp_make_content_images_responsive()'.

In [38296] we replaced `get_post_meta()` with `wp_get_attachment_metadata()`
so that attachment metadata could be consistently filtered. However, this
results in extra post queries which were previously avoided.

This uses `_prime_post_caches()` instead of `update_meta_cache()` to improve
post caching before looping through all images to retrieve attachment metadata.

Props dlh.
Fixes #40490.


git-svn-id: https://develop.svn.wordpress.org/trunk@41315 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Joe McGill 2017-08-25 16:15:27 +00:00
parent c1694b35d4
commit b05a22066a
1 changed files with 3 additions and 5 deletions

View File

@ -1335,12 +1335,10 @@ function wp_make_content_images_responsive( $content ) {
if ( count( $attachment_ids ) > 1 ) {
/*
* Warm object cache for use with 'get_post_meta()'.
*
* To avoid making a database call for each image, a single query
* warms the object cache with the meta information for all images.
* Warm the object cache with post and meta information for all found
* images to avoid making individual database calls.
*/
update_meta_cache( 'post', array_keys( $attachment_ids ) );
_prime_post_caches( array_keys( $attachment_ids ), false, true );
}
foreach ( $selected_images as $image => $attachment_id ) {