_prime_post_caches()


WordPressの_prime_post_caches()関数は、複数の投稿データをキャッシュするために使用されます。この関数は、指定された投稿IDのデータを一度に取得し、キャッシュすることで、データベースクエリの数を減らすことができます。

構文

_prime_post_caches( array $post_ids, bool $update_term_cache = true, bool $update_meta_cache = true );

引数の説明:

  • $post_ids(array) — キャッシュする投稿IDの配列。
  • $update_term_cache(bool) — タームキャッシュを更新するかどうか。デフォルトはtrue。
  • $update_meta_cache(bool) — メタデータキャッシュを更新するかどうか。デフォルトはtrue。

例1: 複数の投稿データをキャッシュする

この例では、指定された投稿IDのデータをキャッシュします。

_prime_post_caches(array(1, 2, 3));

例2: タームキャッシュを無効にしてキャッシュする

タームキャッシュを無効にして、投稿データをキャッシュします。

_prime_post_caches(array(1, 2, 3), false);

例3: メタデータキャッシュを無効にしてキャッシュする

メタデータキャッシュを無効にして、投稿データをキャッシュします。

_prime_post_caches(array(1, 2, 3), true, false);

例4: クエリ結果をキャッシュする

クエリ結果の投稿IDを取得し、キャッシュします。

$query = new WP_Query(array('post_type' => 'post', 'posts_per_page' => 5)); _prime_post_caches($query->posts);

例5: 特定の投稿タイプのデータをキャッシュする

特定の投稿タイプの投稿IDを取得し、キャッシュします。

$posts = get_posts(array('post_type' => 'page', 'numberposts' => 10)); _prime_post_caches(wp_list_pluck($posts, 'ID'));

例6: カスタムクエリでキャッシュする

カスタムクエリを使用して投稿IDを取得し、キャッシュします。

global $wpdb; $post_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' LIMIT 10"); _prime_post_caches($post_ids);

例7: タームとメタデータキャッシュを無効にする

タームとメタデータキャッシュを無効にして、投稿データをキャッシュします。

_prime_post_caches(array(1, 2, 3), false, false);

例8: すべての公開済み投稿をキャッシュする

すべての公開済み投稿のIDを取得し、キャッシュします。

$post_ids = get_posts(array('post_type' => 'post', 'post_status' => 'publish', 'fields' => 'ids')); _prime_post_caches($post_ids);

注意点:

  • この関数は、大量の投稿IDを一度にキャッシュする場合に特に有効ですが、メモリ使用量に注意が必要です。
  • キャッシュの更新が必要ない場合は、$update_term_cache$update_meta_cacheをfalseに設定することで、パフォーマンスを向上させることができます。

関連機能: