了解 WordPress 模板層次結構以加快開發速度
已發表: 2018-09-15
創建 WordPress 主題不是火箭科學。 如果您從基礎開始,您可以輕鬆深入研究 WordPress 主題開發。 但是在您深入了解核心開發內容之前,您絕對有必要了解 WordPress 模板層次結構和 WordPress 主題層次結構。 WordPress 網站上的頁面是使用單個模板文件或在網頁特定區域請求的模板文件組合構建的。
WordPress 模板層次結構包括:
- 基本的 WordPress 頁面層次結構
- 首頁顯示頁面
- 單個帖子頁面
- 靜態頁面
- 存檔頁面
- 其他 WordPress 模板文件
- 最後的話
WordPress 模板層次結構文件的一些示例是:
- 索引.php
- 邊欄.php
- 頭文件
- 頁腳.php
它們駐留在wp-content/themes/theme-name文件夾中。 有很多 WordPress 模板結構文件,但只有兩個文件是 WordPress 主題運行絕對必要的,它們是index.php和style.css。 此外, functions.php (不被視為模板文件)是包含主題功能的必需文件。 要為我們的網站添加更多自定義外觀並感覺我們可以在 WordPress 主題層次結構中使用各種可用的模板文件。
首先要了解它如何呈現頁面以及它如何在 WordPress 模板層次結構中向上移動,讓我們考慮這個例子。
訪問者訪問您的 WordPress 網站上的推薦頁面,並且您創建了一個名為page-testimonials.php的自定義頁面模板,然後 WordPress 將加載 page-testimonials.php。 但是,如果 page-testimonials.php 不存在,則 WordPress 將回退並加載page.php,如果主題文件中不存在 page.php,則 WordPress 將加載index.php 。
我將把模板文件分解成幾個部分,以便更容易理解它們的用途和使用位置。
基本的 WordPress 頁面層次結構
基本的 WordPres 頁面層次結構包括:
- 索引.php
- 頭文件
- 頁腳.php
- 側邊欄.php
- 索引.php
正如我之前提到的,index.php 是 WordPress 頁面層次結構中 WordPress 主題運行所必需的模板文件之一。 index.php 最常用於呈現 WordPress 主題的主頁。 每當模板文件不存在時,例如 single.php 或 post.php,WordPress 就會加載 index.php。
index.php 通常包含其他模板文件,如 header.php、footer.php 和 sidebar.php,它們分別包含站點的頭部、頁腳區域和帶有小部件區域的側邊欄。 它還包含一個循環,用於顯示模板上的帖子或頁面。
- 頭文件
header.php 包含 WordPress 站點的 head 部分,通常在所有模板文件的開頭調用它。 它通常包含標題信息、分析、對 CSS 文件的調用、站點導航、頁面標題和站點徽標等。
- 頁腳.php
同樣,WordPress 頁面層次結構中的文件中的 footer.php 用於構建 WordPress 主題的頁腳部分,並在所有模板文件的頁腳部分中調用。 footer.php 通常包含版權信息、對 JS 文件的調用、通常具有站點導航的小部件區域。
- 側邊欄.php
而 sidebar.php,顧名思義,用於構建站點的側邊欄,並在 index.php、page.php、single.php 等模板文件中調用側邊欄。 它通常包含易於定制的小部件區域。
首頁顯示頁面
- 首頁.php
- 主頁.php
- 頁面.php
- 索引.php
WordPress 網站的主頁顯示最新的博客文章或靜態頁面。 這取決於 WordPress Dashboard Settings -> Reading下的設置。 如果它設置為最新帖子,它將在主頁上顯示最新的博客帖子,當它設置為靜態頁面時,它將從 WordPress 模板層次結構中加載模板,例如 page.php 或 front-page.php。
如果front-page.php 存在,WordPress 將使用此模板文件設置“最新博客文章”和“靜態頁面”。 如果 front-page.php 不存在並且在 WordPress 的閱讀設置中設置了“最新博客文章”,則將加載 home.php。
如果在設置 -> 閱讀帶有帖子頁面的靜態頁面被選中,那麼 WordPress 將尋找 page.php 模板來呈現主頁。
但是,如果 front-page.php、page.php 和 home.php 不存在,那麼 WordPress 將回退到 index.php 來呈現主頁。

單個帖子頁面
- 單個.php
- 單數.php
- 單個.php
在 WordPress 中,單個博客文章是使用 single.php 文件呈現的。 在 WordPress 4.3 及更高版本中,添加了一個新的 WordPress 模板文件,singular.php。
對於 WordPress 自定義帖子類型,我們可以使用 single-{post-type}.php。 例如,我們的帖子類型是動物,那麼 WordPress 將查找 single-animals.php 並且它會優先於 single.php。 如果 post-type 文件不存在,它將使用 single.php 來呈現頁面。
- 單數.php
single.php 用於 page.php 和 single.php 通常具有相同代碼的情況。 如果 single.php 不存在,那麼 WordPress 會尋找 single.php。
靜態頁面
頁面按以下順序呈現:
- 頁面模板
- 頁面-{slug}.php
- 頁面-{id}.php
- 頁面.php
- 單數.php
- 索引.php
如上所述,如果我們想對 single.php 和 page.php 有類似的外觀,那麼最好創建一個 single.php。
存檔頁面
- 作者.php
- 類別.php
- 分類法.php
- 日期.php
- 標籤.php
- 檔案.php
WordPress 中的存檔頁面是用於從特定作者、類別、分類法、日期、標籤等獲取帖子的頁面。
我們可以有一個歸檔模板,即archive.php。 但是要深入到更多模板中,我們有 author.php、category.php、taxonomy.php、date.php、tag.php,所有這些都是不言自明的。
我們可以進一步製作自定義模板,例如
category-{slug}.php – 如果類別的 slug 是可愛小貓,那麼 WordPress 將查找 category-cute-kittens.php,如果它不存在,則將使用 category.php。
category-{id}.php – 如果 id = 3,那麼 WordPress 將尋找 category-3.php 來呈現頁面。 否則它會加載 category.php
{slug} 和 {id} 的類似理論適用於“標籤”頁面
對於自定義作者模板,我們可以使用 author-{nicename}.php 或 author-{id}.php。 如果作者的名字是 Andy,那麼 WordPress 會尋找 author-andy.php,如果它不存在,那麼 WordPress 會回退到 author.php 來呈現頁面。
其他 WordPress 模板文件
– search.php
WordPress 中的搜索結果使用模板文件 search.php。 如果它不存在,則從 index.php 呈現搜索結果。
– 附件.php
此模板文件用於呈現附件頁面,例如圖像和視頻。 image.php 和 video.php 分別用於渲染圖像和視頻。 如果這些文件不存在,則使用attachment.php。
– 404.php
WordPress 中未找到的頁面是從 404.php 呈現的。 如果 404 不存在,那麼它會從 index.php 呈現頁面。
– 評論.php
它是一個評論模板,在 single.php 或 page.php 等模板文件中調用它來添加評論部分。
最後的話
如果您想開發自定義 WordPress 主題和/或自定義 WordPress 主題文件結構,了解 WordPress 模板層次結構非常有用。 您將很容易找到合適的模板文件進行編輯和自定義。 WordPress 模板層次結構的好處在於它遵循嚴格的命名約定。 一旦掌握了 WordPress 主題,就可以輕而易舉地製作它。 您可以參考 WordPress 主題層次結構,以獲得主題開發的快速視覺參考。
問:什麼是 WordPress 模板層次結構?
WP 模板層次結構是模板文件在 WordPress 網站上加載的順序。 這有助於 WordPress 搜索文件以確定何時在瀏覽器上加載哪個文件。
問:為什麼存在 WordPress 模板層次結構?
WP 模板層次結構使 WordPress 開發人員可以更輕鬆地設計和更改他們的主題。
問:什麼是 WordPress 模板文件?
WordPress 模板文件用於設計和創建 WordPress 頁面。 模板文件的一些示例是頁眉和頁腳。
