移除在unctions.php上工作但不在插件中工作的操作。为什么?

时间:2015-02-07 作者:Luis Rock

我正在尝试从Woothemes的唤醒插件中删除一个动作。

如果我在函数上执行。php:

global $woothemes_sensei;
remove_action(\'sensei_lesson_video\', array($woothemes_sensei->frontend, \'sensei_lesson_video\'));
我可以删除该操作。

但是如果我在插件上做同样的事情,我就做不到。

事实上,问题是,在var\\u将$woothemes\\u sensei倾倒在插件上后,会得到NULL。

为什么会这样?

编辑:好吧,这是答案。我应该把代码放在一个函数中,并将其连接到initafter_setup_theme. 但我发现了一个唤醒钩,它在环之前运行(sensei_before_main_content). 所以我做到了:

    add_action(\'sensei_before_main_content\', \'trib_s2sensei\');

function trib_s2sensei() {

   global $woothemes_sensei;
   remove_action(\'sensei_lesson_video\', array($woothemes_sensei->frontend, \'sensei_lesson_video\')); 
}

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

通过主题包含自定义代码与通过插件包含不同。重要的是,您需要添加一个钩子,将您的自定义源代码包含在插件中,如after_setup_theme, 在初始化代码的默认主题之后,可能优先级较低。

结束

相关推荐

MU-plugins插件是否仍通过wordpress.org/plugins部署?

我正准备发布我的第一个插件。我决定把它放在mu插件中,因为如果删除它,它会破坏依赖于它的其他代码。(这是一种开发工具,用于将变量记录到文本文件中。)那么,我可以将此提交给wp吗。o?或者他们只接受进入插件目录的插件?