明凯博客

关注网站技术,一个特立独行的程序员

WordPress中get_template_part() 函数详解

在wordpress3.0以后的版本可以看到这样的代码

1
2
3
4
5
/* Run the loop for the archives page to output the posts.
 * If you want to overload this in a child theme then include a file
 * called loop-archive.php and that will be used instead.
 */
 get_template_part( 'loop', 'archive' );

描述:
加载一个制定的模板到另一个模板里面(不同于包含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. 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文件给主题添加导航条:

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) ?>

, , ,

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注