是的,这样做是可能的。事实上,如果您想删除操作/过滤器,那么几乎肯定需要使用一个钩子来删除它。
例如,插件在主题之前加载。所以如果一个主题在init
从函数挂钩。php文件如下:
add_action( \'init\', \'wpse_265903_init\' );
在主题设置完成之前,插件无法删除该操作:
add_action( \'after_setup_theme\', function() {
remove_action( \'init\', \'wpse_265903_init\' );
} );
类似地,如果希望某些挂钩仅在
admin_init
hook,然后你可以这样做:
add_action( \'admin_init\', function() {
add_action( \'the_post\', function() {
do_something();
} );
} );
The
init
不过,钩子会在每个请求上激发,所以我不确定从特定钩子添加钩子的目的。