深入理解 WordPress Hook 的原理和使用方法
文 / @UTHEME
Hook机制:让WordPress变得更灵活
今天我们要说的Hook,不是童话故事里面,一只手变成了钩子的虎克船长,而是让WordPress变得灵活的Hook机制。WordPressHook可以让我们不用修改模板就能改变页面上面的功能或内容。
什么是WordPress Hook
如果我们把页面看作一个墙壁,Hook就是墙壁上的挂钩,把衣服、背包挂到墙壁上,墙壁上就有了这些东西,就不再是一个空白的墙壁了。
而在页面中,我们挂上去的不是衣服或背包,而是显示内容的一些功能函数。把这些功能函数,挂载到页面中定义好的Hook上,页面中就能显示出相应的内容。加载这些功能函数的方法是add_action或add_filter,具体使用方法见‘把功能加载到主题模板中’部分,下面这张图就形象地说明了Hook的机制。
WordPress Hook在主题中的位置
Hook可以放到页面中的任何位置,今天我们就拿我开发WordPress主题时常用的框架来说吧,其中有两个Hook,一个在页面内容之前,一个在页面内容之后。
do_action('mx_page_before');//页面内容之前
do_action('mx_page_after');//页面内容之后
通过Hook把功能加载到主题模板中
模板中有了Hook,我们就可以把功能加载到模板中了。比如说,如果我需要在页面前面显示一个面包屑导航,而页面可能有很多模板,一个一个去修改虽然也能达到目的,但是却浪费了不少功夫,用Hook只需几行代码就能搞定。
/*显示面包屑导航*/
function wizhi_show_breadcrumb(){
if(function_exists('yoast_breadcrumb')){
yoast_breadcrumb('<p class="breadcrumbs">当前位置:','</p>');
}
}
add_action('mx_post_before','wizhi_show_breadcrumb');
add_action('mx_page_before','wizhi_show_breadcrumb');

相关文章
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
创建Vue组件详细教程 2023-09-10 00:23:17
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02
-
Astra 主题团队推出人工智能驱动的 WordPress 网站创建平台 – ZIPWP 2023-08-28 16:49:54
-
WordPress 宣布将为用户提供 100 年域名托管服务 2023-08-28 16:45:27
-
PHP判断if else 和 switch case的区别盘点 2023-07-29 15:11:11
-
详解WordPress独立站SEM中的OCPC方法(含百度推广OCPC与谷歌OCPC) 2023-07-19 08:01:30
-
WordPress的古腾堡全站编辑器site-editor.php介绍(附:site-editor.php启用代码) 2023-07-16 08:01:57
-
WordPress的Customize Partial功能最全介绍(含:demo代码) 2023-07-16 00:21:56