更新日期:2014-10-15

要自行製作佈景,就必須先熟悉 wordpress 的程式架構,知道哪一個頁面使用了哪一個程式是相當重要的,這些 wordpress 自己通通規範了一套標準的『作業流程』。

 

底下這張圖,來自官方的整理資料,你也可以看比較大張圖比較清晰些。
604px-Template_Hierarchy

 

這邊簡單說明各種檔案的用途及檔案之間如何替代、與優先順序:
 

首頁(入口頁)

一般若未指定『特定頁面』的話,是顯示blog文章清單,系統尋找檔案的順序如下:

  1. home.php
  2. index.php

 

文章內頁

這裡文章指的是blog文章,當網友點擊的時候,要呈現的樣式。系統尋找檔案的順序如下:

  1. single-{post_type}.php (post_type 是文章格式)
  2. single.php
  3. index.php

 

頁面

內建頁面的文章,系統尋找檔案的順序如下:

  1. 自定範本檔案,例如 $custom.php
  2. page-{slug}.php
  3. page-{id}.php
  4. page.php
  5. index.php

 

彙整文章

這邊的彙整文章,可以是日期、標籤、分類、作者、自定頁面的分類等等,當然也可以不要用這個檔案,系統允許你自己再細分,底下會再介紹,系統尋找檔案的順序如下:

  1. archive-{post_type}.php
  2. archive.php
  3. index.php

 

Category 分類文章

剛剛上面提到,若是分類想要和彙整文章使用不同佈景檔案,則可以使用 category.php 檔案,系統尋找檔案的順序如下:

  1. category-{slug}.php
  2. category-{id}.php
  3. category.php
  4. archive.php
  5. index.php

 

Tag 標籤文章

若是標籤想要和彙整文章使用不同佈景檔案,則可以使用 tag.php 檔案,系統尋找檔案的順序如下:

  1. tag-{slug}.php
  2. tag-{id}.php
  3. tag.php
  4. archive.php
  5. index.php

 

Taxonomy 自定義文章的分類

若是自定義文章的分類想要和彙整文章使用不同佈景檔案,則可以使用 taxonomy.php 檔案,系統尋找檔案的順序如下:

  1. taxonomy-{taxonomy}-{term}.php
  2. taxonomy-{taxonomy}.php
  3. taxonomy.php
  4. archive.php
  5. index.php

 

Author 作者

若是作者文章的分類想要和彙整文章使用不同佈景檔案,則可以使用 author.php 檔案,系統尋找檔案的順序如下:

  1. author-{nicename}.php
  2. author-{id}.php
  3. author.php
  4. archive.php
  5. index.php

 

日期彙整文章

若是日期彙整文章想要和彙整文章使用不同佈景檔案,則可以使用 date.php 檔案,系統尋找檔案的順序如下:

  1. date.php
  2. archive.php
  3. index.php

 

搜尋結果文章

系統尋找檔案的順序如下:

  1. search.php
  2. index.php

 

404找不到頁面

系統尋找檔案的順序如下:

  1. 404.php
  2. index.php

 

上傳的附件頁面

系統尋找檔案的順序如下:

  1. {MIME_type}.php
  2. text.php
  3. plain.php
  4. textplain.php
  5. attachment.php
  6. single-attachment.php
  7. single.php
  8. index.php

 
以上是 wordpress 基本的檔案架構,我們可以發現到,index.php 是不可或缺的檔案,因為它是可以代替所有類型的檔案。當然每個人可以依照這個架構,利用函數 get_template_part,再延伸出自己的檔案名稱。

 

參考資料:

官方網站:http://codex.wordpress.org/Template_Hierarchy
架構圖:http://codex.wordpress.org/images/1/18/Template_Hierarchy.png
有趣的架構圖:http://2013.minneapolis.wordcamp.org/2013/04/27/wordpress-theme-template-poster/