检查设置是否已更改

时间:2019-02-28 作者:Tom Dickson

WordPress插件开发新手,我正在寻找一个钩子,当“管理仪表板”>“设置页面”中的设置被更改时,该钩子将被执行。

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

这个update_option 钩子可用于在选项值更改时运行操作:

function wpse_330204_option_updated( $option_name, $old_value, $new_value ) {
    if ( $option_name === \'name_of_option_you_want_to_check\' ) {
        if ( $new_value !== $old_value  ) {
            // Value has changed, run code here.
        }
    }
}
add_action( \'update_option\', \'wpse_330204_option_updated\', 10, 3 );
只需更换name_of_option_you_want_to_check 您要查找的选项的实际名称通常这与name="" 的属性<input><select> 用于更改值的元素。

相关推荐

Hooks are not executing

根据我对钩子的理解,您可以通过do\\u action(“hook\\u name”)创建一个钩子;然后向所述钩子中添加一些内容,并在希望它执行钩子的位置调用该方法,因此:public function hook_name(){ do_action(\'hook_name\'); } 有些地方你会做类似的事情:add_action(\'hook_name\', \'some_hook\'); 然后在主题中的一些地方,你称之为:hook_name();