wordpress函数:get_template_part,实现装载另外一模板部分代码到当前模板

装载另外一个模板的部分代码到当前模板(区别于header, sidebar, footer)。使得当前主题可以更加容易的重用代码段,并且对于子主题,通过此函数可以容易的替换父主题的代码段。

用于在模板中包含指定的模板文件,只需用指定参数slug和name就可以包含文件{slug}-{name}.php,最重要的功能是如果没有这个文件就包含没有{name}的.php文件。

用法

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

$slug (必须) 通用的模板名

$name (可选) 指定的模板名

示例

使用在子主题里面的loop.php

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

1
<?php get_template_part( "loop", "index" ); ?>

php 的require()函数将按下面优先级包含文件

1
2
3
4
?wp-content/themes/twentytenchild/loop-index.php
?wp-content/themes/twentytenchild/loop.php
?wp-content/themes/twentyten/loop-index.php
?wp-content/themes/twentyten/loop.php

使用通用的nav.php文件给主题添加导航条

1
2
3
<?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)??>