是的,这是可以做到的。最终,在侧栏中添加和删除小部件意味着使用如下调用更新数据库中的选项:
update_option( \'sidebars_widgets\', array( ... ) )
如果你看一下
update_option
您可以看到,在实际更新之前调用了一个过滤器。因此,如果您想在移除小部件之前做些什么,可以挂接到:
add_filter (\'pre_update_option_sidebars_widgets\',\'wpse71075_pre_remove_widget\',10,3);
此时,您只知道活动小部件的列表将发生更改,而不是添加或删除。但是,您确实有
$value
和
$old_value
选项,您可以在筛选函数内对其进行比较
array_search
对于小部件的标签可能就足够了)。
阅读answer to this question 了解sidebars_widgets
选项这取决于你的目标,你实际上想要检测和做什么。