奇妙な質問ですが、テーマ設定を保存した後にカスタム機能を実行するにはどうすればよいですか? register_settings()関数にサニタイズコールバックがありますが、設定が変更される前に実行されます。それらが保存された後に実行するために何かが必要です。そのために使用できるアクションやフィルタはありますか?
編集 -
だから私は私が作ったこの設定があります:
add_settings_section(
'kjd_body_background_settings_section', // ID hook name
null, // label
null, // function name
'kjd_body_background_settings' // page name
);
add_settings_field(
'kjd_body_background_colors', // ID hook name
null, //label
null, //callback
'kjd_body_background_settings', // page name
'kjd_body_background_settings_section' // parent section
);
そしてこの機能:
function kjd_update_stylesheet( $oldvalue, $_newvalue ){
echo 'updated!';
die();
}
add_action('update_options_kjd_body_background_settings','kjd_update_stylesheet',10, 2);
//add_action('update_options_kjd_body_background_colors','kjd_update_stylesheet',10, 2);
フィルタupdate_option_{$option}
を使用してください。正常に保存された後に実行されます。
$option
はあなたのオプションの名前で、あなたはパラメータとして新旧の値を取得します。
wp-includes/option.php
から:
do_action( "update_option_{$option}", $oldvalue, $_newvalue );
オプションwpse_themesettings
にはこのように使用してください。
add_action( 'update_option_wpse_themesettings', 'wpse_check_settings', 10, 2 );
function wpse_check_settings( $old_value, $new_value )
{
// do something
}