get_template_part()?函數(shù)用于調(diào)用自定義模板文件,也可以引入自定義名字的文件。
使用get_template_part()函數(shù),可以更靈活的控制主題,我覺(jué)得get_template_part()函數(shù)最大的好處就是大大的減少了代碼的重寫量。
我們知道,調(diào)用header.php可以用get_header()方法,調(diào)用footer.php可以用get_footer()方法,調(diào)用 sidebar.php可以用get_sidebar()方法,那么,調(diào)用自定義模板文件的時(shí)候,我們需要用get_template_part()函 數(shù)。
這好比如比如原生的php就有require及include兩種引入文件方法一個(gè)道理。
為什么要自定義模板文件?
比如,分類頁(yè)、標(biāo)簽頁(yè)、作者頁(yè)、甚至首頁(yè)可能都需要用到一段共同的代碼——以摘要方式輸出文章。那么,我們可以將這段代碼放到content.php中,然后在分類、標(biāo)簽、作者和首頁(yè)模板文件調(diào)用content.php,以減少代碼重寫量。
get_template_part()函數(shù)用法
get_template_part()函數(shù)的使用很靈活,不僅僅是加載一個(gè)模板文件進(jìn)來(lái),而且還有備用的選項(xiàng),調(diào)用代碼如下:
get_template_part( $slug, $name );
參數(shù):
$slug?
(必須) 通用的模板名
(字符串)要引入的模板的文件名,不包括后綴名 .php,也就是如果需要引入當(dāng)前主題根目錄的 loop.php 文件 $slug 填寫 “l(fā)oop” 即可。
$name
?(可選) 指定的模板名
(字符串)要引入的模板的文件的副文件名,如果要引入當(dāng)前主題根目錄的 loop-img.php 文件 $slug 參數(shù)填寫 “l(fā)oop”,$name 參數(shù)填寫 “img”。
示例
1、如果content-loop.php存在,則調(diào)用content-loop.php,否則,就調(diào)用content.php
get_template_part( 'content', 'loop' );
2、引入當(dāng)前主題根目錄的 tags.php文件:
get_template_part( 'tags' );
3、引入當(dāng)前主題 inc 目錄的 myfunctions.php 文件:
get_template_part( 'inc/myfunctions' );
4、調(diào)用主題partials文件夾下content-page.php
php get_template_part( 'partials/content', 'page' );
?
源文件
get_template_part() 位于 wp-includes/general-template.php.
推薦:
get_post_format();
獲取帖子格式
根據(jù)返回的格式調(diào)用指定的模板文件
get_template_part('slug',get_post_format());
get_template_part():根據(jù)get_post_format()返回的信息來(lái)加載slug開(kāi)頭命名的相應(yīng)的模板;
get_post_format():獲取當(dāng)前post的分類信息。
例子:
現(xiàn)有模板 content-image.php
那么
get_template_part('content',get_post_format());
?
如果當(dāng)前post分類是image,那么就會(huì)調(diào)用模板content-image.php;如果返回的post分類模板不存在,那么就會(huì)使用默認(rèn)post模板。