我认为这两者之间有区别do_action
和apply_filters
.
do_action
通常会触发全局状态更改,包括输出、资源排队、模块初始化等。这就像任何影响全局状态的东西一样,如果脱离上下文使用,可能会产生令人惊讶的副作用。
apply_filters
OTOH的行为更像是一个函数调用,如果编写得当,无论何时“调用”它,都应该返回相同的结果。
不过,插件的质量各不相同(就在几个小时前,有人问起一个使用eval
:(),因此您的实施策略最终将取决于编码技能—大约5美元/小时的开发人员复制粘贴他在internet上找到的代码片段。您需要对主流插件进行适当的测试,以确保您的代码至少与主流插件一起工作。