update_post_thumbnail_cache()
Updates cache for thumbnails in the current loop.
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
update_post_thumbnail_cache( $wp_query );
- $wp_query(WP_Query|null)
- A WP_Query instance.
По умолчанию: $wp_query global
Заметки
- Global. WP_Query. $wp_query WordPress Query object.
Список изменений
С версии 3.2.0 | Введена. |
Код update_post_thumbnail_cache() update post thumbnail cache WP 6.8
function update_post_thumbnail_cache( $wp_query = null ) { if ( ! $wp_query ) { $wp_query = $GLOBALS['wp_query']; } if ( $wp_query->thumbnails_cached ) { return; } $thumb_ids = array(); /* * $wp_query may contain an array of post objects or post IDs. * * This ensures the cache is primed for all post objects to avoid * `get_post()` calls in `get_the_post_thumbnail()` triggering an * additional database call for each post. */ $parent_post_ids = array(); foreach ( $wp_query->posts as $post ) { if ( $post instanceof WP_Post ) { $parent_post_ids[] = $post->ID; } elseif ( is_int( $post ) ) { $parent_post_ids[] = $post; } } _prime_post_caches( $parent_post_ids, false, true ); foreach ( $wp_query->posts as $post ) { $id = get_post_thumbnail_id( $post ); if ( $id ) { $thumb_ids[] = $id; } } if ( ! empty( $thumb_ids ) ) { _prime_post_caches( $thumb_ids, false, true ); } $wp_query->thumbnails_cached = true; }