试图删除插件中的Wordpress操作

时间:2017-10-11 19:53:42

标签: wordpress action

我有一个插件可以将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,它仍然不会停止操作。

2 个答案:

答案 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 );