是否在保存主题选项后运行函数?

时间:2013-08-11 作者:rugbert

奇怪的问题是,保存主题设置后,如何运行自定义函数?我看到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);

1 个回复
最合适的回答,由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
}

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register