WordPress 主題使用模板標(biāo)簽從數(shù)據(jù)庫(kù)中檢索內(nèi)容?。這里說(shuō)的內(nèi)容可以是任何數(shù)據(jù),小到博客標(biāo)題,大到一個(gè)完整的側(cè)邊欄。模板標(biāo)簽是獲取數(shù)據(jù)到主題中的首選方法,模板標(biāo)簽的便利之處:
- 可以打印動(dòng)態(tài)內(nèi)容。
- 可以在多個(gè)主題文件中使用。
- 分解主題到更小,更容易理解的部分。
什么是模板標(biāo)簽?
模板標(biāo)簽是一段代碼,控制 WordPress 從數(shù)據(jù)庫(kù)中獲取內(nèi)容,從組成上了來(lái)說(shuō),模板標(biāo)簽可以分為三部分:
- PHP 代碼標(biāo)記
- 一個(gè) WordPress 函數(shù)
- 可選參數(shù)
您可以使用模板標(biāo)簽來(lái)包含主題文件或數(shù)據(jù)庫(kù)中的信息。
例如,get_header()?標(biāo)簽指示 WordPress 獲取并包含?header.php?文件,同理?get_footer()?標(biāo)簽指示 WordPress 獲取并包含?footer.php?文件
除此之外,還有一些其他類(lèi)型的模板標(biāo)簽:
the_title():指示 WordPress 從數(shù)據(jù)庫(kù)中獲取標(biāo)題,然后顯示在頁(yè)面中。bloginfo('name'):指示 WordPress 從數(shù)據(jù)庫(kù)中獲取站點(diǎn)標(biāo)題,并在頁(yè)面中顯示。
注意上面第二個(gè)模板標(biāo)簽,您會(huì)在括號(hào)中看到一個(gè)參數(shù),該參數(shù)可以做兩件事:
- 指定具體的信息
- 以正確的格式顯示信息。
下面將詳細(xì)介紹參數(shù),但請(qǐng)注意,您可以發(fā)送 WordPress 專(zhuān)有指令,以了解數(shù)據(jù)的呈現(xiàn)方式。
為什么使用模板標(biāo)簽?
模板標(biāo)簽可以封裝特定內(nèi)容模塊的所有代碼,這種封裝可以讓被封裝的內(nèi)容可以在各個(gè)主題文件中使用,也使主題更容易維護(hù)。
創(chuàng)建一個(gè)?header.php?文件,然后使用?get_header()?在其他主題模板文件——如?single.php?、page.php?、front-page.php?——中引用,比在每個(gè)模板文件中復(fù)制粘貼代這些代碼容易得多,維護(hù)起來(lái)也更輕松,每當(dāng)?header.php?被修改時(shí),這些修改都會(huì)體現(xiàn)在每一個(gè)包含他的模板文件中。?
使用模板標(biāo)簽的另一個(gè)原因是可以很方便的顯示來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù)。在?title?標(biāo)簽中,我們可以手動(dòng)包含?title?標(biāo)記,如下所示:
<title>My Personal Website</title>
但是,這樣做意味著您需要修改網(wǎng)站標(biāo)題時(shí),就必須編輯模板代碼。相反,使用模板標(biāo)簽?bloginfo(‘name’)?輸出標(biāo)簽會(huì)很方便,該標(biāo)簽會(huì)自動(dòng)從數(shù)據(jù)庫(kù)中獲取并輸出網(wǎng)站標(biāo)題。使用了這個(gè)標(biāo)簽后,您在 WordPress 設(shè)置中更改網(wǎng)站的標(biāo)題就可以了,而不用再修改模板文件了。
如何使用模板標(biāo)簽
模板標(biāo)簽使用起來(lái)非常簡(jiǎn)單,在任何一個(gè)模板文件中,用一行 php 代碼即可使用模板標(biāo)簽來(lái)。如,使用以下代碼即可在模板文件中包含 header.php 的內(nèi)容:
get_header();
參數(shù)
一些模板標(biāo)簽可以讓我們傳遞參數(shù)。參數(shù)是確定從數(shù)據(jù)庫(kù)檢索哪些內(nèi)容的額外信息。
例如,?bloginfo()?模板標(biāo)簽允許您傳入一個(gè)參數(shù),告訴 WordPress 需要獲取的信息。如果您要輸出網(wǎng)站名稱(chēng),傳入 “name” 參數(shù)即可,如下所示:?
bloginfo( 'name' );
如果需要獲取站點(diǎn)運(yùn)行的 WordPress 版本,傳入?yún)?shù) “version” 就可以了:
bloginfo( 'version' );
模板標(biāo)簽可以有參數(shù),也可以沒(méi)有,每個(gè)模板標(biāo)簽的參數(shù)也各不相同,我們可以在WordPress 代碼參考?中的模板標(biāo)簽頁(yè)面中找到某個(gè)標(biāo)簽可用的參數(shù)列表及其可以執(zhí)行的操作?。
在循環(huán)中使用模板標(biāo)簽
許多模板標(biāo)簽必須在?WordPress 循環(huán)中才能正常使用,也就是說(shuō),他們需要作為 php “循環(huán)” 的一部分包含在模板文件中,該循環(huán)根據(jù)其內(nèi)部的模板標(biāo)簽生成用戶(hù)看到的頁(yè)面。
WordPress 循環(huán)一般以如下代碼開(kāi)始:
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
在循環(huán)中工作的模板標(biāo)簽必須位于循環(huán)中才能正常使用,在下面循環(huán)結(jié)束之前:
endwhile;
else :
_e( 'Sorry, no posts matched your criteria.', 'wprs' );
endif;
需要在循環(huán)內(nèi)部工作的標(biāo)簽有:
這些函數(shù)需要在循環(huán)中工作的主要原因是它們需要全局 post 對(duì)象,WordPress 循環(huán)會(huì)自動(dòng)設(shè)置這個(gè) post 對(duì)象。
其他標(biāo)簽不需要在循環(huán)中工作(如下面兩個(gè)),可以在模板中的任何地方使用。如側(cè)邊欄中,頁(yè)頭或頁(yè)腳中。
這些標(biāo)簽通常不需要全局 post 對(duì)象。



