wpseek.com
Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren



_prime_post_caches › WordPress Function

Seit3.4.0
Veraltetn/v
_prime_post_caches ( $ids, $update_term_cache = true, $update_meta_cache = true )
Parameter: (3)
  • (int[]) $ids ID list.
    Erforderlich: Ja
  • (bool) $update_term_cache Optional. Whether to update the term cache. Default true.
    Erforderlich: Nein
    Standard: true
  • (bool) $update_meta_cache Optional. Whether to update the meta cache. Default true.
    Erforderlich: Nein
    Standard: true
Siehe:
Definiert in:
Codex:
Changelog:
  • 6.1.0

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



Quellcode

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 );
	}
}