WordPress的钩子机制小结
WordPress是用PHP-FPM方式运行的一个CMS程序。
这就决定了WordPress内含的PHP脚本正常情况下只能在该页脚本运行时加载。而钩子则允许你在别的地方修改。
比如当你想修改当前页面的中的标题,你可以不用直接打开修改主题的header.php修改。而可以直接写个插件。。。
这对开发者来说非常友好。因为……比如,你修改了一部分 WordPress 或WordPress主题的核心文件,但一旦更新 WordPress 的版本,那么你的修改就不见了,你还得重新再改一次。但一旦使用钩子制,那么你就不用修改核心文件、再其他地方(比如主题、插件)就能更改功能,且你的修改不受 WordPress或WordPress主题 更新的困扰。
钩子类型
1: 动作(action)钩子
无返回数据,关注的只是要干什么。
2: 过滤(filter)钩子
特点是,一定要将修改后的数据返回(return),后续的代码会用到。
钩子顺序
钩子机制,最大的特点就是,将执行和挂载的过程分离。一旦分离,就得区分出先后顺序。就像去吃自助餐,你能吃到食物的前提,是餐厅要先将食物摆在指定位置。执行的过程,就像是吃食物的过程;挂载的过程,就像是准备和摆食物的过程
顺序总结:
- 先挂载函数到钩子
- 后执行钩子上函数
3、重要函数
3.1、执行钩子上函数
- a) apply_filters( $tag, $value[, $value2…] ) // 执行过滤钩子下的函数
- b) do_action($tag, $arg = ”)
// 执行动作钩子下的函数
挂载函数到钩子
- add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 )
- add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1)
add_filter(),是将函数挂载到某个过滤类型的钩子上;
add_action(),是将函数挂载到某个动作类型的钩子上。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END