概要
update_site_option
アクションは、WordPressでサイトオプションの値を更新する際によく使われます。このアクションを使用することで、サイトの設定やオプションが変更されたときに特定の処理を追加することが可能です。例えば、サイトのテーマやプラグインが更新されたときに設定をリセットしたり、特定の条件に応じてオプションの値を変更したりすることができます。主に次のような機能を実装する際に利用されます。
- サイトオプションの変更時のカスタム処理。
- キャッシュのクリア。
- サイト設定のトラッキング。
- サイトのセキュリティ強化。
- メンテナンスモードの管理。
- 自動バックアップのトリガー。
- サイトのパフォーマンス監視。
- プラグインの設定変更に応じた処理。
構文
add_action('update_site_option', 'your_function_name', 10, 3);
パラメータ
$option
: 更新されたオプションの名前。$old_value
: 更新前のオプションの値。$new_value
: 更新後のオプションの値。
戻り値
なし。関数が完了すれば、その処理が実行されます。
関連する関数
使用可能なバージョン
WordPress 2.9.0以降。
コアファイルのパス
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_action('update_site_option', 'log_site_option_change', 10, 3);
function log_site_option_change($option, $old_value, $new_value) {
error_log("Option '$option' changed from '$old_value' to '$new_value'.");
}
このコードは、サイトオプションが変更されたときに、その変更をログに記録します。これにより、どのオプションが変更されたかを追跡できます。
サンプル2
add_action('update_site_option', 'clear_cache_on_option_change', 10, 3);
function clear_cache_on_option_change($option, $old_value, $new_value) {
if ($option === 'some_specific_option') {
// Cache clearing logic here
// e.g., cache_clear();
}
}
特定のオプションが変更されたときにキャッシュをクリアする処理をここに追加します。オプションの値に基づいて必要なキャッシュを削除できます。
サンプル3
add_action('update_site_option', 'update_plugin_settings', 10, 3);
function update_plugin_settings($option, $old_value, $new_value) {
if ($option === 'your_plugin_setting') {
// Update custom settings related to your plugin
// e.g., update_plugin_config($new_value);
}
}
プラグイン関連のオプションが更新されたときに、プラグイン設定を更新する処理です。オプションの変更に応じた追加の処理が可能です。
サンプル4
add_action('update_site_option', 'maintain_security_settings', 10, 3);
function maintain_security_settings($option, $old_value, $new_value) {
if ($option === 'security_option') {
// Security settings adjustment
// e.g., update_security_config();
}
}
サイトのセキュリティオプションが更新された際に、さらにセキュリティ設定を調整するためのサンプルです。
サンプル5
add_action('update_site_option', 'notify_admin_on_option_change', 10, 3);
function notify_admin_on_option_change($option, $old_value, $new_value) {
if ($option === 'admin_notification_option') {
// Notify admin about the changes
// e.g., wp_mail('admin@example.com', 'Option Changed', '...');
}
}
サイトオプションが変更された際、管理者に通知を送信する処理です。重大な変更が行われたときに適切な連絡が可能になります。