WordPress 常用动作钩子 (action)分享

在制作主题和插件,或者为 WordPress 增加某些功能时,一般都要使用 WordPress 的动作钩子 (action),分享几个比较常用的动作钩子,以备用时查看。

plugins_loaded

对插件开发者来说,plugins_loaded 动作钩子也许是最重要的动作钩子了,它在大多数 WordPress 文件加载完成之后,并在 pluggable 函数和 WordPress 开始执行任何东西之前触发。

在大多数的插件中,在这个钩子触发之前,不应该执行其他的代码。plugins_loaded 在所有用户启用的插件都被 WordPress 加载之后执行。

这也是在加载过程中插件开发这最早能用到的钩子,WordPress 的插件应该在这个钩子中执行安装,其他动作也应该添加到这个钩子的回调函数中。

init

init 钩子在大多数的 WordPress 都建立之后。WordPress 同样添加许多内部的功能到这个钩子中,例如 post type 和 taxonomies 以及默认 widgets 的初始化。

因为这时几乎 WordPress 中的所有内容都就绪了,当 WordPress 的所有信息都可用时,你的插件使用这个钩子差不多可以做任何需要的事情了。

比如为用户添加了给 pages 写摘要的功能,这应该在 init 中执行,因为 page post type 在这时使用 add_post_type_support() 函数来创建。

admin_menu

admin_menu 钩子在管理员页面加载的时候调用,无论何时你的插件直接在管理页面下工作,你都要用这个钩子来执行你的代码。

template_redirect

template_redirect 动作钩子很有用,因为它是 WordPress 知道用户正在浏览的页面的关键。它在特定的页面选择 theme template 之前执行。在只在网站的前端触发,并不在管理员页面触发。

当你需要为特定的页面加载代码的时候,这个钩子很有用,比如为 singular post 加载一个样式表文件。

wp_head

在网站的前端,WordPress 的模板调用 wp_head() 函数,会触发 wp_head 钩子。插件使用这个钩子在 和 标签之间添加 HTML。

有些插件错误的使用了 wp_head 动作钩子来添加 JavaScript 代码,实际上应该使用 wp_enqueue_script() 函数的。唯一一种使用这个钩子来添加 JavaScript 的情形是当 JavaScript 代码不在一个单独的文件中时。

相关推荐

WordPress 钩子(Hook)的机制与原理:add_action、add_filter

WordPress 钩子(Hook)的机制与原理:add_action、add_filter

了解 WordPress 钩子(Hook)的机制与原理,就能明白自定义函数中 add_action 和 add_filter 的含义了,他们对应着 WordPress 动作钩子和 WordPress 过滤钩子,对于修改或制作主题与插件帮助非常大,甚至可以说比必经之路。 本文针对 WordPress Hook 运作大致做个简单的说明,而预设读者是理解基本的 PHP function 语法及运作 ...

WordPress 主题和插件的加载运行机制、Hook钩子与重要函数

WordPress 主题和插件的加载运行机制、Hook钩子与重要函数

本文有助于你深度了解 WordPress 主题和插件的 PHP 加载顺序,学习 Hook(钩子)Action(动作钩子) Filters(过滤钩子)的概念,弄懂 WordPress 重要函数:do_action、add_action、apply_filters 和 add_filter。 插件的加载机制 了解插件的加载机制,能够帮助我们更加深入的了解插件的开发,也能够帮助我们更好的对插件进 ...

WordPress 各种钩子和过滤器 action/filters 的执行顺序

WordPress 各种钩子和过滤器 action/filters 的执行顺序

WordPress 之所以能提供这样灵活的二次开发能力,一大途径就是它里面内涵了各种各样的 action/filter,通过这些 action/filter,你可以 在Wordpress 运行的各个环节来修改缺省的 WordPress 行为、表现和事件。为了方便我记忆,也给遇到跟我一样困难的朋友们一些提示,下面是我在网上找到的各种 WordPress action 的执行顺序 ...

WordPress 过滤钩子(Filter)基础详解

WordPress 过滤钩子(Filter)基础详解

WordPress 过滤钩子(filters)——我们可以扩展 WordPress 的最好方法之一。这个特性的基础就是钩子(hooks)—— WordPress的过滤(filters)和动作(actions)钩子。没有它们,我们就无法利用 WordPress 的可扩展性的优势。 什么是 WordPress 过滤钩子(Filter) 在 WordPress 官方开发文档里面,过滤钩子(filter)是这样定 ...

微信扫一扫,分享到朋友圈

WordPress 常用动作钩子 (action)分享