奇怪的问题是,保存主题设置后,如何运行自定义函数?我看到register\\u 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);
最合适的回答,由SO网友:fuxia 整理而成
使用过滤器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
}