ワードプレスのwp_clean_theme_json_cache関数の使用方法・解説

概要

wp_clean_theme_json_cache関数は、テーマのJSON設定のキャッシュをクリアするための関数です。この関数は、テーマの設定が変更された際に新しい設定を適用するために利用されます。特に、テーマのカスタマイズや更新作業を行った後に、古いキャッシュが残っていると新しい設定が反映されない可能性があるため、この関数が重要となります。以下は、この関数がよく使われるシチュエーションです。

  1. テーマのカスタマイズを行った際
  2. プラグインの設定を変更した際
  3. テーマのアップデート後
  4. 新しいスタイルやスクリプトを追加した後
  5. ユーザーがテーマを選択した際
  6. マルチサイトネットワークでのテーマ変更
  7. テーマのオプションページで設定を保存した際
  8. WP-CLIを使用してテーマを操作する際

構文

wp_clean_theme_json_cache();

パラメータ

この関数はパラメータを受け取りません。

戻り値

この関数は明示的な戻り値を持ちませんが、キャッシュがクリアされることが確認できます。

関連する関数

使用可能なバージョン

wp_clean_theme_json_cache関数は、WordPress 5.8以降で利用可能です。

コアファイルのパス

この関数は、wp-includes/class-wp-theme-json.phpファイルに含まれています。

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード1: テーマのカスタマイザーでキャッシュクリア

add_action('customize_save_after', 'my_customizer_save_callback');
function my_customizer_save_callback() {
    wp_clean_theme_json_cache();
}

このサンプルでは、カスタマイザーの設定が保存された後にキャッシュをクリアしています。これにより、新しい設定が即座に反映されます。

サンプルコード2: プラグインの更新後にキャッシュ清掃

add_action('upgrader_process_complete', 'my_plugin_update_callback', 10, 2);
function my_plugin_update_callback($upgrader_object, $options) {
    if ($options['action'] === 'update' && $options['type'] === 'plugin') {
        wp_clean_theme_json_cache();
    }
}

ここでは、プラグインのアップデート後にキャッシュをクリアすることで、最新の設定を反映させる処理を行います。

サンプルコード3: テーマが変更されたときにキャッシュクリア

add_action('switched_theme', 'my_theme_switch_callback');
function my_theme_switch_callback() {
    wp_clean_theme_json_cache();
}

テーマが切り替わったタイミングでキャッシュを清掃しています。これにより、新しいテーマの設定を正しく適用させます。

サンプルコード4: 管理画面のメニュー追加時にキャッシュクリア

add_action('admin_menu', 'my_admin_menu_callback');
function my_admin_menu_callback() {
    wp_clean_theme_json_cache();
}

管理画面でメニューが追加された際にキャッシュをクリアします。これにより、それに関連する設定がすぐに反映されるようにします。

サンプルコード5: タイマーで定期的にキャッシュクリア

add_action('wp', 'my_schedule_cache_clear');
function my_schedule_cache_clear() {
    if (!wp_next_scheduled('my_cleanup_hook')) {
        wp_schedule_event(time(), 'hourly', 'my_cleanup_hook');
    }
}

add_action('my_cleanup_hook', 'my_cleanup_function');
function my_cleanup_function() {
    wp_clean_theme_json_cache();
}

このサンプルでは、時間ごとに自動的にキャッシュをクリアするためのスケジュールイベントを設定しています。

これらのサンプルコードは、WordPress内でのwp_clean_theme_json_cache関数の実用例を示しています。各サンプルは、テーマやプラグインの管理や、ユーザーの設定に影響を与える状況で役立きます。

この関数について質問する


上の計算式の答えを入力してください