添加或更新任何选项或设置时挂钩/通知

时间:2016-06-20 作者:CandyCoated

我知道:

add_option_{option_name}
update_option_{option_name}
但这些需要特定的选项名称。我所寻找的是一种方法,可以知道是否以及何时更改(添加或更新)任何选项。

我真正想要避免的是运行一个查询来查找所有选项名称,然后在它们之间运行一个循环来添加这两个名称add_option_{option_name}update_option_{option_name} 为这些选项动态。(如果这确实是唯一的方法,那么这是正确的方法吗?)

有什么建议吗?

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

查看来源(核心文件、,wp-includes/option.php) 您始终可以找到目标挂钩标签:

add_action(\'added_option\', \'wpse230212_callback_add\', 10, 2);
add_action(\'updated_option\', \'wpse230212_callback_update\', 10, 3);

function wpse230212_callback_add( $option_name, $option_value ) {
    // do stuff on add_option
}

function wpse230212_callback_update( $option_name, $old_value, $option_value ) {
    // do stuff on update_option    
}
希望这有帮助。