WordPress插件钩子是如何工作的?

时间:2015-01-30 作者:subashbasnet8

我是new 到wordpress开发。我熟悉joomla\'s ins-and-out 机械工作,现在我想contribute or say learn wordpress. 我发现wordpress中的每一件事都是通过插件及其挂钩和过滤器完成的。但是在写一些很酷的东西之前,我想知道how hooks registered in plugin executes ? 哪一个design patterns 是否在wordpress插件环境中实现?

好的,我们来举个例子。

add_action( \'wp_head\', \'my_plg_function\' );
function my_plg_function() {
  echo \'I am called\';
}  
在上面的代码中,插件的函数注册在wp\\u head hook中,对吗?现在到底是什么add_action 函数执行和when wp_head hook runs, 我的插件如何工作called ? 我对这一点还是新手,我正试图在wordpress中学习和创造一些很酷的东西。任何帮助都将不胜感激。谢谢

1 个回复
SO网友:Xtremefaith

do_action 是一个事件,在整个WordPress实例中,在核心或主题和插件中,都有许多这样的事件。(假设)即使你把add_action 在插件文件中,但主题文件首先按执行顺序读取add_action 函数仍将在do_action 它被钩住了。

这是因为主题文件在被一个叫做after_setup_theme 要了解所有这些的顺序,请查看documentation here

本质上,这意味着所有代码都应该在这个动作挂钩层次结构的某个点插入,您也可以创建自己的代码。因此,在文件中添加代码时,您应该询问“何时”执行此操作?主题文件是否已在此点完成加载?WordPress本身加载了吗?这些东西都有挂钩,所以一定要通读这些文档

结束

相关推荐

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

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