如何挂接取消注册小部件实例?

时间:2012-10-31 作者:Ryan Koehler

我想在从外观->小部件管理页面上的侧栏面板中删除一个小部件实例后,将其挂接到小部件实例中。

因此,如果该实例是一个活动的小部件,然后被删除,那么我想在删除它之前挂接到该实例。

能做到吗?

1 个回复
SO网友:cjbj

是的,这是可以做到的。最终,在侧栏中添加和删除小部件意味着使用如下调用更新数据库中的选项:

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 选项这取决于你的目标,你实际上想要检测和做什么。

结束

相关推荐

Taxonomy search filters

我使用几种分类法开发了几个国家的教育课程数据库。国家、研究所、研究水平和其他一些是分类法。如果用户单击某个国家/地区,将显示该国家/地区的所有课程。如何在保留在同一国家/地区的情况下过滤结果(研究所、学习水平等)。我想把它放在存档页上,这样每个搜索都可以进一步过滤。