update_post_caches()
Updates post, term, and metadata caches for a list of post objects.
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
update_post_caches( $posts, $post_type, $update_term_cache, $update_meta_cache );
- $posts(WP_Post[]) (обязательный) (передается по ссылке — &)
- Array of post objects (passed by reference).
- $post_type(строка)
- Post type.
По умолчанию: 'post' - $update_term_cache(true|false)
- Whether to update the term cache.
По умолчанию: true - $update_meta_cache(true|false)
- Whether to update the meta cache.
По умолчанию: true
Список изменений
С версии 1.5.0 | Введена. |
Код update_post_caches() update post caches WP 6.7.1
function update_post_caches( &$posts, $post_type = 'post', $update_term_cache = true, $update_meta_cache = true ) { // No point in doing all this work if we didn't match any posts. if ( ! $posts ) { return; } update_post_cache( $posts ); $post_ids = array(); foreach ( $posts as $post ) { $post_ids[] = $post->ID; } if ( ! $post_type ) { $post_type = 'any'; } if ( $update_term_cache ) { if ( is_array( $post_type ) ) { $ptypes = $post_type; } elseif ( 'any' === $post_type ) { $ptypes = array(); // Just use the post_types in the supplied posts. foreach ( $posts as $post ) { $ptypes[] = $post->post_type; } $ptypes = array_unique( $ptypes ); } else { $ptypes = array( $post_type ); } if ( ! empty( $ptypes ) ) { update_object_term_cache( $post_ids, $ptypes ); } } if ( $update_meta_cache ) { update_postmeta_cache( $post_ids ); } }