|
很多人在看他人的插件、主题制造的时分都会提到举措钩子、过滤器什么的,自己现在看的时分也不晓得钩子是啥,经过N久的学习渐渐的就明白了,今日我说说什么是钩子。英文叫hook--翻译:挂钩,吊钩。 如今经过实例来说一下什么事wordpress钩子,普通的主题在header.php中都有会加上函数wp_head(),有的还会在footer.php中添加wp_footer()函数,而且很多插件都会提示假如主题代码中没有wp_head()函数能够无法运用插件(要想搞清楚一个函数是干嘛的,你可以百度一下,普通都会有人翻译,假如懂英语的话去官网wordpress.org去搜索一下,那里有威望引见)。以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()函数引见如下:
精确的说do_action()函数是创立一个举措并执行它,由于这个要执行的举措并不需求像变量一样需求先声明明,do_action('wp_head')就是间接创立一个叫wp_head的举措然后执行它。实例: 如今创立了这个举措,但是这个举措并没有包括任何函数,所以执行这个空的举措就不会执行任何函数,所以我要再往这个举措上挂一个函数,运用add_action()函数可以往举措钩子上挂函数,add_action()的引见:
我们的实例需求添加的代码: 这样执行 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()想理解的可以到官网去搜索。
以上是由炒股入门http://www.niulaile.com/整理发布,转载请注明。 |
|