get_template_part() 函数

本文深入探讨了WordPress中的get_template_part()函数,重点在于其add_action中的钩子$tag特性,与普通hook的区别在于$tag的可变性。这种设计为主题的多样化实现提供了便利。通过源代码分析和实例解释,帮助理解get_template_part()如何工作。

get_template_part() 的钩子详解

April 16th 2012   评论(0)

因为在官方主题(Twenty Eleven)中 get_template_part() 函数被大量使用,所以就目前来看,该函数应该算是比较热门的一个函数了,之前有写过一篇文章讲述该函数的具体使用方法,在这里也就不便再赘述,本文主要针对该函数的 add_action 中的 hook $tag 值进行探讨,因为,WP hook 中林林总总有那么些函数在$tag 值中比较让人费解。

与普通hook的区别

普通的hook的$tag 是一个固定值,而 get_template_part() 确是一个可变值,好吧先不说,wp这么做给我们实现一个简单功能带来多少麻烦,但如此设置确实给多样化的主题实现带来了不少方便之处。
实现这一原理的源代码如下,截取自 WordPress 源程序。

function get_template_part( $slug, $name = null ) {
//$tag = "get_template_part_{$slug}" 
//也就是,get_template_part_+你当时设置的$slug值
  do_action( "get_template_part_{$slug}", $slug, $name );
  $templates = array();
  if ( isset($name) )
    $templates[] = "{$slug}-{$name}.php";
    $templates[] = "{$slug}.php";
    locate_template($templates, true, false);
}

实例

像上面那样说,可能也许基本上有点看不明白,好吧给点实例

//复习一下get_template_part($slug, $name)的用法,
//如果你在主题里这样
get_template_part( 'index' , 'photo');
//那么 WP 会去找主题根目录下 index-photo.php 文件
 
//那么我们想挂一个函数的话就得像如下
function addFunction ($slug, $name){
echo $slug;
}
add_action("get_template_part_index","addFunction",10,2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值