get_template_part()是wordpress 3.0版本以后出现的函数,函数的作用是在模板文件中加载另一个指定模板文件,指定{slug}和{name}就可以包含文件{slug}-{name}.php,如果没有这个文件则包含{slug}.php文件,有利于模板重复代码片段转换成模板文件被调用,使用模板代码更加简洁。
函数结构:


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

参数说明:

$slug 通用的模板名称(必须)
$name 指定的模板名(可选)
示例:


//加载loop.php文件
<?php get_template_part('loop');?>
//加载loop-index.php文件
<?php get_template_part('loop','index');?>

在子主题中使用loop.php

假设主题文件夹是wp-content/themes,父主题是twentyten子主题是twentytenchild那么以下代码


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

将为require()这个优先级中存在的第一个文件做一个PHP :
wp-content/themes/twentytenchild/loop-index.php
wp-content/themes/twentyten/loop-index.php
wp-content/themes/twentytenchild/loop.php
wp-content/themes/twentyten/loop.php

使用主题子文件夹

要在主题目录中的子文件夹中使用此功能,只需在文件夹前添加文件夹名称即可。例如,如果您的主题目录中有一个名为“partials”的文件夹,以及该子文件夹中名为“content-page.php”的模板部分,则可以使用get_template_part()如下所示:


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

获取一个特定的文件

虽然这种方式失败了这个功能的目的,但也可以加载一个特定的模板文件。你所要做的只是一个参数:


<?php get_template_part('template-parts/layout'); ?>

将包含layout.php在放置在主题文件夹根目录中的template-parts子目录中。
提示:get_template_part()函数没有返回值,当调用的文件不存在时,不会报错误提示。