概要
wp_clean_theme_json_cache
関数は、テーマのJSON設定のキャッシュをクリアするための関数です。この関数は、テーマの設定が変更された際に新しい設定を適用するために利用されます。特に、テーマのカスタマイズや更新作業を行った後に、古いキャッシュが残っていると新しい設定が反映されない可能性があるため、この関数が重要となります。以下は、この関数がよく使われるシチュエーションです。
- テーマのカスタマイズを行った際
- プラグインの設定を変更した際
- テーマのアップデート後
- 新しいスタイルやスクリプトを追加した後
- ユーザーがテーマを選択した際
- マルチサイトネットワークでのテーマ変更
- テーマのオプションページで設定を保存した際
- 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
関数の実用例を示しています。各サンプルは、テーマやプラグインの管理や、ユーザーの設定に影響を与える状況で役立きます。