看起来像update_option_{$option}
只会在updated 选项,即不是全新的选项。
正在读取的代码update_option()
, 我看到了:
/** This filter is documented in wp-includes/option.php */
if ( apply_filters( "default_option_{$option}", false, $option, false ) === $old_value ) {
// Default setting for new options is \'yes\'.
if ( null === $autoload ) {
$autoload = \'yes\';
}
return add_option( $option, $value, \'\', $autoload );
}
。。。在
update_option_{$option}
钩自从你
$old_value
未设置
false
, 所以,自从
false
===
false
, 你在打
return add_option()
密码
add_option()
有自己的相关动作挂钩:add_option_{$option}
. 所以你也应该能融入其中。
您的更新代码:
function my_register_settings() {
register_setting(\'my_settings_group\', \'my_custom_option\');
}
add_action(\'admin_init\', \'my_register_settings\');
function do_after_update($old, $new) {
// Do the stuff here
}
add_action(\'update_option_my_custom_option\',\'do_after_update\', 10, 2);
function do_after_add( $new ) {
// Do the stuff here
}
add_action( \'add_option_my_custom_option\', \'do_after_add\' );