_prime_post_caches() – Adds any posts from the given IDs to the cache that do not already exist in cache.

You appear to be a bot. Output may be restricted

Description

Adds any posts from the given IDs to the cache that do not already exist in cache.

Usage

_prime_post_caches( $ids, $update_term_cache, $update_meta_cache );

Parameters

$ids
( int[] ) required – ID list.
$update_term_cache
( bool ) optional default: 1 – Optional. Whether to update the term cache. Default true.
$update_meta_cache
( bool ) optional default: 1 – Optional. Whether to update the meta cache. Default true.

Returns

void

Source

File name: wordpress/wp-includes/post.php
Lines:

1 to 23 of 23
function _prime_post_caches( $ids, $update_term_cache = true, $update_meta_cache = true ) {
  global $wpdb;

  $non_cached_ids = _get_non_cached_ids( $ids, 'posts' );
  if ( ! empty( $non_cached_ids ) ) {
    $fresh_posts = $wpdb->get_results( sprintf( "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE ID IN (%s)", implode( ',', $non_cached_ids ) ) );

    if ( $fresh_posts ) {
      // Despite the name, update_post_cache() expects an array rather than a single post.
      update_post_cache( $fresh_posts );
    }
  }

  if ( $update_meta_cache ) {
    update_postmeta_cache( $ids );
  }

  if ( $update_term_cache ) {
    $post_types = array_map( 'get_post_type', $ids );
    $post_types = array_unique( $post_types );
    update_object_term_cache( $ids, $post_types );
  }
}
 

 View on GitHub View on Trac