我有一个插件可以将Google字体加载到网站的主管,但我想删除该操作。他们是这样做的:
add_action( 'wp_head', 'add_web_font', 0 );
我试图将其删除:
add_action( 'wp_head', 'remove_my_action', 20 );
function remove_my_action(){
remove_action( 'wp_head', 'add_web_font', 0 );
}
我不确定上面为什么不删除它?我把我的代码放在一个插件中。即使优先级为0,它仍然不会停止操作。
答案 0 :(得分:0)
在remove_action
中,您还必须包括定义操作时使用的优先级,如果它不是默认值10.在您的情况下,操作的优先级为0,所以你需要使用以下内容:
function remove_my_action(){
remove_action( 'wp_head', 'add_web_font', 0 );
}
参考:Wordpress Codex: remove_action
重要:要删除挂钩,添加挂钩时 $ function_to_remove和$ priority 参数必须匹配。这适用于过滤器和操作。删除失败不会发出警告。
答案 1 :(得分:0)
感谢@FluffyKitten让我思考正确的方向。我将我的动作添加到plugins_loaded以确保它在之后运行。工作代码如下:
function remove_my_action(){
remove_action( 'wp_head', 'add_web_font', 0 );
}
add_action( 'plugins_loaded', 'remove_my_action', 20 );