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