delete_get_calendar_cache()

delete_get_calendar_cache()
目次

delete_get_calendar_cache()の用途

delete_get_calendar_cache() は、WordPressの投稿カレンダー機能(get_calendar())で使用されるキャッシュを削除する内部関数です。

delete_get_calendar_cache()の基本情報

項目内容
関数名delete_get_calendar_cache()
定義場所wp-includes/general-template.php
WordPressバージョンWordPress 5.5 以降で導入
アクセス権限内部関数(private):テーマやプラグインからの直接使用は基本的に想定されていません
関連関数get_calendar()(投稿カレンダーを生成)

delete_get_calendar_cache()の役割・用途

WordPressの投稿カレンダーは、月ごとの投稿数をカレンダー形式で表示する機能ですが、パフォーマンス向上のために結果をオブジェクトキャッシュに保存しています。

delete_get_calendar_cache() は、そのキャッシュ(get_calendar() が内部で使用する結果)を削除し、次回アクセス時に最新の情報でカレンダーを再生成するために使われます。

delete_get_calendar_cache()の関数の構造(中身のイメージ)

以下は WordPress コア内の delete_get_calendar_cache() の簡易構造です:

function delete_get_calendar_cache() {
    global $wpdb, $monthnum, $year;

    $key = md5( 'get_calendar' . $monthnum . $year );
    wp_cache_delete( $key, 'calendar' );
}

ここで行っていること

  • $monthnum$year を使ってキャッシュキーを生成
  • wp_cache_delete() によりキャッシュグループ calendar の該当キーを削除

delete_get_calendar_cache()はどんなときに使う?

get_calendar() により生成される投稿カレンダーの内容が古い場合(たとえば投稿の追加・削除があったのに反映されていない場合)に、キャッシュを削除して再生成したいときに使われます。

注意

この関数は WordPress の内部処理向けに設計されており、以下のようにテーマやプラグインから直接使うことは推奨されていません

// 非推奨だが可能
delete_get_calendar_cache();

もしどうしても使いたい場合は、条件をよく検討して慎重に呼び出す必要があります。

代替方法(より安全な手段)

通常は wp_cache_flush() や投稿保存時のフック(例:save_post)で wp_cache_delete() を使い、対象キャッシュだけ削除する設計が望ましいです。

delete_get_calendar_cache()のまとめ

項目内容
機能投稿カレンダーのキャッシュを削除する
タイミング投稿カレンダーの内容を更新させたいとき
注意点内部関数のため、直接呼び出すのは推奨されない
代替手段wp_cache_delete() などで個別に処理
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次