欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是建站经验系列之:【Wordpress钩子概念解释与分析】,下面是详细的分享!
Wordpress钩子概念解释与分析
很多人在看别人的插件、主题制作的时候都会提到动作钩子、过滤器什么的,本人当初看的时候也不知道钩子是啥,经过N久的学习慢慢的就明白了,今天我说说什么是钩子。英文叫hook--翻译:挂钩,吊钩。 现在通过实例来说一下什么事wordpress钩子,一般的主题在header.php中都有会加上函数wp_head(),有的还会在footer.php中添加wp_footer()函数,而且很多插件都会提醒如果主题代码中没有wp_head()函数可能无法使用插件(要想搞清楚一个函数是干嘛的,你可以百度一下,一般都会有人翻译,如果懂英语的话去官网wordpress.org去搜索一下,那里有权威介绍)。以wp_head()函数为例:
- <? php wp_head(); ?>
该函数位于wp-includes/general-template.php文件的1577行,看到这个函数的定义:
- function wp_head() {
- do_action('wp_head');
- }
这个函数就简单的一句do_action('wp_head') , 这个do_action()函数可以解释为:执行一个动作,这里执行一个叫名称为wp_head的动作,里面的参数wp_head并不是函数,而仅仅是一个名称。 我们把这个动作叫做动作钩子,这个名为wp_head动作可以包涵很多函数的,我们可以自定义一些函数让它归属于wp_head动作,可以形象的说成是把一个函数挂在这个动作上哦。。哈哈。。这是我的理解。。。 do_action()函数介绍如下:
- <?php
- do_action($tag, $arg);
- //$tag 必需、你想创建的动作钩子的名称
- //$arg 传递给已有的动作钩子的值
- ?>
准确的说do_action()函数是创建一个动作并执行它,因为这个要执行的动作并不需要像变量一样需要先申明明,do_action('wp_head')就是直接创建一个叫wp_head的动作然后执行它。实例:
- <?php
- do_action('kutailang');
- //创建一个叫kutailang的动作并且执行,然后你就可以往这个钩子上挂函数了。。
- ?>
现在创建了这个动作,但是这个动作并没有包含任何函数,所以执行这个空的动作就不会执行任何函数,所以我要再往这个动作上挂一个函数,使用add_action()函数可以往动作钩子上挂函数,add_action()的介绍:
- <?php
- add_action( $tag, $function_to_add, $priority, $accepted_args );
- //$tag 参数必需,动作钩子的名称
- //$function_to_add 参数为必需,要执行的函数
- //$priority 参数为int(整数),数字越小越先调用
- //$accepted_args 参数为int(整数),函数需要的参数个数,默认1;
- ?>
我们的实例需要添加的代码:
- <?php
- add_action('kutailang','kutailang_echo',88);
- //把函数kutailang_echo挂在名为kutailang动作上
- //下面定义函数kutailang_echo
- function kutailang_echo(){
- echo '我是苦太狼啊</br>';
- }
- ?>
这样执行 do_action('kutailang')的时候就会执行kutailang所包含的所有函数。 前面说到的wp_head()函数执行了名叫wp_head的动作,很多插件都需要在页面加载js和css文件或代码,就需要用到这个函数在网页的头部来输出相应的代码。为什么不用wp_footer函数来输出js代码呢,js不是放在页面底部更好吗?因为一般的主题都有wp_head()函数,但是wp_footer函数就不一定了。 与动作钩子相关的函数不仅仅是这两个,还有has_action() do_action_ref_array() remove_action() remove_all_action()想了解的可以到官网去搜索。
以上所分享的是关于Wordpress钩子概念解释与分析,下面是编辑为你推荐的有价值的用户互动:
相关问题:什么叫钩子过程?
答:就是windows程序对windows操作系统的消息进行了拦截,本来应该发到其它程序的消息,被钩子程序拦截了.或者说被钩到了. 钩子程序拦截系统消息的过程就是钩子过程. >>详细
相关问题:使用百度bae搭建wordpress用TortoiseSVN上传时出现...
答:你创建版本了木有,。,,我才开始用的时候也是这样 不记得创建版本了 >>详细
相关问题:wordpress响应式主题是什么意思
答:WordPress 响应式主题既整个页面是响应式布局的主题。 响应式布局: 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
