WordPress中get_template_part()函数,调用自定义模板文件
在制作 wordpress 主题时,调用 header.php 可以用 get_header() 方法,调用 footer.php 可以用 get_footer() 方法,调用 sidebar.php 可以用 get_sidebar() 方法,那么调用自定义模板文件的时候,我们需要用 get_template_part() 函数。
get_template_part() 函数优点
get_template_part() 函数主要用于调用自定义模版,可以更灵活的控制主题。
在主题制作中,经常需要在多个地方(比如分类页、标签页、作者页、甚至首页)需要用到一段共同的代码,使用get_template_part() 函数就能大大减少了代码的重写量。
其实使用php原生的require及include也可以方便引入文件,但相对来说,get_template_part() 有参数方法更方便灵活。
get_template_part() 函数用法
<?php get_template_part( $slug, $name ); ?>
参数:
$slug (必须) 通用的模板名 $name (可选) 指定的模板名
指定参数slug和name就可以包含文件 {slug}-{name}.php,如果没有这个文件,就包含 {slug}.php 文件。
示例一:
假设主题文件夹wp-content/themes下父主题是twentyten,子主题 twentytenchild,那么下面的代码:
<?php get_template_part( 'loop', 'index' ); ?>
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 文件给主题添加导航条:
<?php get_template_part( 'nav' ); // Navigation bar (nav.php) ?> <?php get_template_part( 'nav', '2' ); // Navigation bar #2 (nav-2.php) ?> <?php get_template_part( 'nav', 'single' ); // Navigation bar to use in single pages (nav-single.php) ?>
如果你不明白可以参考官方 API:get_template_part