WordPress主題系統(tǒng)支持用于自定義文章類型的自定義模板。從WordPress?3.0開始支持自定義模板來顯示屬于自定義文章類型的文章,并且在3.1版本中添加了自定義文章類型存檔頁面模板的支持。
自定義文章類型–模板層次結(jié)構(gòu)
WordPress將通過模板層次結(jié)構(gòu)進(jìn)行工作,并使用首先出現(xiàn)的模板文件。因此,如果您想為自定義文章類型 acme_product 創(chuàng)建自定義模板,一個(gè)好的開始就是復(fù)制single.php文件,將其另存為single-acme_product.php并進(jìn)行編輯。
但是,如果你不想創(chuàng)建自定義模板文件,WordPress會(huì)使用已經(jīng)存在于您主題的archive.php、single.php和index.php 文件。
單個(gè)文章及其存檔可以分別使用single.php和archive.php模板文件顯示:
- 自定義文章類型的單個(gè)文章將使用single-{post_type}.php
- 它們的存檔將使用archive-{post_type}.php
- 并且如果您沒有此文章類型的存檔頁面,則可以傳遞 BLOG_URL?post_type={post_type} ,其中的
{post_type}是register_post_type()函數(shù)的$post_type參數(shù)。
因此,對(duì)于上面的例子,你可以創(chuàng)建single-acme_product.php和archive-acme_product.php作為單個(gè)文章的模板文件和存檔頁面的模板文件。
或者,您可以在任何模板文件中使用 is_post_type_archive() 函數(shù)來檢查查詢是否顯示為特定文章類型的存檔頁面,并使用post_type_archive_title()顯示文章類型標(biāo)題。
自定義文章類型模板
- single-{post-type}.php
當(dāng)訪客從自定義文章類型請(qǐng)求單個(gè)文章時(shí)使用的模板。例如,single-acme_product.php將用于顯示名為acme_product的自定義文章類型的單個(gè)文章。 - archive-{post-type}.php
當(dāng)訪客請(qǐng)求自定義文章類型存檔時(shí),將使用該文章類型的存檔模板。例如,archive-acme_product.php將用于顯示名為acme_product的自定義文章類型的文章存檔。如果archive-{post-type}.php不存在,將使用archive.php。 - search.php
搜索結(jié)果模板用于顯示訪問者的搜索結(jié)果。要包括來自您的自定義文章類型的搜索結(jié)果,請(qǐng)參考文章。 - index.php
用于特定的自定義文章類型的相關(guān)模板(single-{post-type}.php,single.php,archive-{post-type}.php,archive.php,search.php)不存在,將使用index.php。
函數(shù)參考
- register_post_type():注冊(cè)文章類型。
- is_post_type_archive():檢查查詢的是否為現(xiàn)有文章類型存檔頁面。
- post_type_archive_title():顯示或檢索文章類型存檔的標(biāo)題。



