remove_action in a theme

时间:2013-02-15 作者:Mubashar Aftab

我正在使用一个经常更新的主题。为此,它添加了一个自定义。包含修改的php文件。现在,在这个主题下的功能。php中,开发人员包含了自己的元节,该元节是使用以下函数添加的:

add_action(\'wp_head\', \'theme_metas\');
我想让我的SEO插件管理这个,所以我尝试将它添加到自定义中。php:

remove_action(\'wp_head\', \'theme_metas\', 15);
我甚至尝试将优先级更改为高于或低于10(这是默认设置),但metas仍在显示。有人能帮我照一下吗?

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

你的remove_action 必须具有与中使用的优先级匹配的优先级add_action.

重要提示:要删除挂钩,添加挂钩时,$function\\u To\\u remove和$priority参数必须匹配。这适用于过滤器和操作。移除失败时不会发出警告。

http://codex.wordpress.org/Function_Reference/remove_action

在你看来remove_action(\'wp_head\', \'theme_metas\'); 应该有效,但您可能会遇到问题,因为您的custom.php 文件加载。

SO网友:Mark Kaplun

要删除操作,优先级必须与添加操作时使用的优先级相同。对你来说应该是

remove_action(\'wp_head\', \'theme_metas\');

remove_action(\'wp_head\', \'theme_metas\',10);
要记住的细节是remove of an action can be done only after the action was already added. 操作简单地存储在一个数组中remove_action 所做的是使条目无效。如果remove_action 之前已调用add_action 最终的结果将是,删除实际上什么都不会做。

所以你应该打电话remove_action 只有当您确定已调用add\\u操作,并且对于大多数操作,最好是以最高优先级钩住所讨论的钩子。

在你的情况下

add_action(\'wp_head\',\'wpse86994_remove_action\',1); // prioroty of 1, but can be anything higher (lower number) then the priority of the action

function wpse86994_remove_action() {
  remove_action(\'wp_head\', \'theme_metas\');
}

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $