概要
wp_prime_option_caches
フィルタは、特定のオプションをキャッシュに登録する際に使用されます。このフィルタを利用することで、オプションの取得に要する時間を短縮し、パフォーマンスを向上させることが可能です。具体的には、以下のような機能を実装する際によく使われます。
- 高速化された設定オプションの取得
- オプション値の一括キャッシュ登録
- 特定の条件下でのオプションの再キャッシュ
- テーマまたはプラグインの設定管理
- キャッシュのカスタマイズ
- ユーザーごとのオプションのキャッシュ
- ショートコードやウィジェットでの設定利用
- 管理画面のパフォーマンス向上
構文
apply_filters('wp_prime_option_caches', $options);
パラメータ
$options
: キャッシュに登録するオプションの配列。
戻り値
- フィルタリングされたオプションの配列。
関連する関数
使用可能なバージョン
WordPress 5.3以降で利用可能です。
コアファイルのパス
wp-includes/option.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_filter('wp_prime_option_caches', function ($options) {
$options['my_custom_option'] = get_option('my_custom_option');
return $options;
});
このコードは、my_custom_option
というカスタムオプションをキャッシュに登録します。
サンプル2: 特定ユーザーのオプションをキャッシュ
add_filter('wp_prime_option_caches', function ($options) {
if (is_user_logged_in()) {
$options['user_specific_option'] = get_user_meta(get_current_user_id(), 'user_specific_option', true);
}
return $options;
});
このコードは、ログイン中のユーザーに特有のオプションをキャッシュに登録します。
サンプル3: プラグイン設定をまとめてキャッシュ
add_filter('wp_prime_option_caches', function ($options) {
$plugin_options = get_option('my_plugin_options');
$options = array_merge($options, $plugin_options);
return $options;
});
このコードは、プラグインで使用するすべてのオプションを一度にキャッシュに登録します。
サンプル4: テーマオプションをキャッシュに追加
add_filter('wp_prime_option_caches', function ($options) {
$theme_options = get_option('my_theme_options');
$options['theme_options'] = $theme_options;
return $options;
});
このコードは、テーマ用のオプションをキャッシュに追加します。
サンプル5: キャッシュの条件付き登録
add_filter('wp_prime_option_caches', function ($options) {
if (current_user_can('administrator')) {
$options['admin_only_option'] = get_option('admin_only_option');
}
return $options;
});
このコードは、管理者のみがアクセスできるオプションを条件付きでキャッシュに登録します。