深入解析WordPress中加载模板的get_template_part函数
最近研究官方主题 Twenty Eleven ,有一些东西网上现成的中文资料不好找,在博客里记载下来,算是分享,也算是备忘,wordpress 3.0 以后就开始便有了get_template_part() 这个函数 ,应该是为文章呈现形式提供更为多样化的选择而给出的新功能。 Twenty Eleven 中 实例如下: Twenty Eleven index.php 文件 行:21
............................
描述: 加载一个制定的模板到另一个模板里面(不同于包含header,sidebar,footer). 使得一个主题使用子模板来实现代码段重用变得简单 用于在模板中包含指定的模板文件,只需用指定参数slug和name就可以包含文件{slug}-{name}.php,最重要的功能是如果没有这个文件就包含没有{name}的.php文件文件 使用方法: 参数:
示例: 使用 loop.php 在子主题里面 假设主题文件夹wp-content/themes下父主题是twentyten子主题twentytenchild,那么下面的代码: php 的require()函数将按下面优先级包含文件 1. wp-content/themes/twentytenchild/loop-index.php 2. wp-content/themes/twentytenchild/loop.php 3. wp-content/themes/twentyten/loop-index.php 4. wp-content/themes/twentyten/loop.php 导航(这个例子很烂,但却是另一种使用思路) 使用通用的nav.php文件给主题添加导航条: get_template_part() 的钩子详解因为在官方主题(Twenty Eleven)中 get_template_part() 函数被大量使用,所以就目前来看,该函数应该算是比较热门的一个函数了,之前有写过一篇文章讲述该函数的具体使用方法,在这里也就不便再赘述,本文主要针对该函数的 add_action 中的 hook $tag 值进行探讨,因为,WP hook 中林林总总有那么些函数在$tag 值中比较让人费解。与普通hook的区别 普通的hook的$tag 是一个固定值,而 get_template_part() 确是一个可变值,好吧先不说,wp这么做给我们实现一个简单功能带来多少麻烦,但如此设置确实给多样化的主题实现带来了不少方便之处。 实现这一原理的源代码如下,截取自 WordPress 源程序。 实例 像上面那样说,可能也许基本上有点看不明白,好吧给点实例 <div class="jb51code"> //那么我们想挂一个函数的话就得像如下 get_template_part() 函数详解备忘 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |