get_template_part()函数

get_template_part() 函数用于调用自定义模板文件,也可以引入自定义名字的文件。使用get_template_part()函数,可以更灵活的控制主题,我觉得get_template_part()函数最大的好处就是大大的减少了代码的重写量。

我们知道,调用header.php可以用get_header()方法,调用footer.php可以用get_footer()方法,调用 sidebar.php可以用get_sidebar()方法,那么,调用自定义模板文件的时候,我们需要用get_template_part()函 数。这好比如原生的php也有require及include两种引入文件方法是一个道理。

为什么要自定义模板文件
比如,分类页、标签页、作者页、甚至首页可能都需要用到一段共同的代码——如以摘要方式输出文章。那么,我们可以将这段代码放到content.php中,然后在分类、标签、和首页模板文件调用content.php,以减少代码重写量。

get_template_part()函数的使用很灵活,不仅仅是加载一个模板文件进来,而且还有备用的选项,调用代码如下:

语法结构

<?php get_template_part( $slug, $name ); ?>

code:true”>

参数

$slug (必须) 通用的模板名(字符串)要引入的模板的文件名,不包括后缀名 .php,也就是如果需要引入当前主题根目录的 content.php 文件 $slug 填写 ‘content’ 即可。
$name (可选) 指定的模板名(字符串)要引入的模板的文件的副文件名,如果要引入当前主题根目录的 content-nav.php 文件 $slug 参数填写 ‘content’,$name 参数填写 ‘nav’。

示例

1、如果content-loop.php存在,则调用content-loop.php,否则,就调用content.php

<?php get_template_part( 'content', 'loop' ); ?>

2、引入当前主题根目录的 tags.php文件:

<?php get_template_part( 'tags' );  ?>

3、引入当前主题 inc 目录的 myfunctions.php 文件:

<?php get_template_part( 'inc/myfunctions' ); ?>

4、调用主题partials文件夹下content-page.php

<?php php get_template_part( 'partials/content', 'page' ); ?>