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()函数没有返回值,当调用的文件不存在时,不会报错误提示。

