訪問者點擊類別,標簽或自定義分類法的超鏈接時,WordPress會以相反的時間順序顯示一頁帖子,按照該分類法過濾。
默認情況下,此頁面使用index.php模板文件生成。 您可以創建可選的模板文件來覆蓋和優化index.php模板文件。 本節介紹如何使用和創建此類模板。
## 分類模板層次結構
WordPress按照模板層次結構確定的順序顯示帖子。
category.php,tag.php和taxonomy.php模板允許通過分類過濾的帖子與未過濾的帖子或不同分類過濾的帖子進行對待。 (注:帖子是指任何帖子類型 - 帖子,頁面,自定義帖子類型等)。 這些文件可讓您指定特定的分類法或具體的分類術語。 例如:
- taxonomy-{taxonomy}-{term}.php
- taxonomy-{taxonomy}.php
- tag-{slug}.php
- tag-{id}.php
- category-{slug}.php
- category-{ID}.php
因此,您可以在名為新聞的動物分類中設置與其他類別中過濾的帖子不同的頁面上的所有帖子。
archive.php模板提供最通用的控件形式,為所有存檔提供布局; 也就是一個顯示帖子列表的頁面。
## 類別
對于類別,WordPress尋找category-{slug}.php文件。 如果不存在,WordPress則會為下一個層次級別(category-{ID}.php等)查找文件。 如果WordPress找不到任何專門的模板或archive.php模板文件,它將使用index.php恢復為默認行為。
類別層次結構如下所示:
- category-{slug}.php: 例如,如果類別slug被命名為“news”,WordPress將尋找名為category-news.php的文件。
- category-{ID}.php: 例如,如果類別ID為“6”,則WordPress將查找名為category-6.php的文件。
- category.php
- archive.php
- index.php
## 標簽
對于標簽,WordPress尋找tag-{slug}.php文件。 如果不存在,WordPress然后將查找下一個層次級別的文件,tag-{ID}.php等等。 如果WordPress無法找到任何專門的模板或archive.php模板文件,它將恢復為默認行為,使用index.php。
標簽層次結構如下所示:
- tag-{slug}.php: 例如,如果標簽的命名為“sometag”,WordPress將會找到一個名為tag-sometag.php的文件。
- tag-{id}.php: 例如,如果標簽的ID為“6”,則WordPress會查找名為tag-6.php的文件。
- tag.php
- archive.php
- index.php
## 自定義分類
自定義分類層次結構與上述類別和標簽層次結構類似。 WordPress尋找taxonomy-{taxonomy}-{term}.php文件。 如果不存在,WordPress則會為下一個層次級別taxonomy-{taxonomy}.php等查找文件。 如果WordPress無法找到任何專門的模板或archive.php模板文件,它將恢復為默認行為,使用index.php。
自定義分類法的層次結構如下所示:
- taxonomy-{taxonomy}-{term}.php: 例如,如果分類法被命名為“sometax”,并且分類術語是“someterm”,則WordPress將尋找一個名為taxonomy-sometax-someterm.php的文件。
- taxonomy-{taxonomy}.php: 例如,如果分類法被命名為“sometax”,WordPress將會查找一個名為taxonomy-sometax.php的文件
- taxonomy.php
- archive.php
- index.php
## 創建分類模板文件
現在您決定要根據分類法為內容創建自定義設計,從哪里開始?
而不是從一個空白文件開始,最好復制層次結構中的下一個文件(如果存在)。 如果您已經創建了archive.php,請創建一個名為category.php的副本,并根據您的設計需求進行修改。 如果您沒有archive.php文件,請使用主題的index.php副本作為起點。
如果要創建任何分類模板文件,請按照相同的步驟進行操作。 使用您的archive.php,category.php,tag.php或index.php的副本作為起點。
## 例子
現在,您已經在主題目錄中選擇了需要修改的模板文件,我們來看一些例子。
## 將文本添加到類別頁面
靜態文本上面的帖子#Static Text上面的帖子
假設您希望在類別頁面上的帖子列表之前顯示一些靜態文本。 “靜態”是保持不變的文字,無論下面顯示哪些帖子,無論顯示哪個類別。
打開您的文件和上面的模板文件的循環部分,插入以下代碼:
```
<p>
This is some text that will display at the top of the Category page.
</p>
```
此文本僅顯示在顯示該類別中的帖子的存檔頁面上。
## 某些類別頁面上的不同文本
如果要根據訪問者使用的類別頁面顯示不同的文本,該怎么辦? 您可以添加默認文本到主要的category.php文件,并創建特殊的category-{slug}.php文件,每個文件都有自己的版本,但這將在您的主題中創建大量的文件。 相反,您可以使用條件標簽。
再次,這個代碼將在循環之前添加:
```
<?php if (is_category('Category A')) : ?>
<p>This is the text to describe category A</p>
<?php elseif (is_category('Category B')) : ?>
<p>This is the text to describe category B</p>
<?php else : ?>
<p>This is some generic text to describe all other category pages,
I could be left blank</p>
<?php endif; ?>
```
此代碼執行以下操作:
檢查訪問者是否請求了類別A.如果是,它顯示第一個文本。
如果用戶沒有請求類別A,請檢查B類。如果是,則顯示第二條文本。
顯示默認文本,如果沒有請求。
## 僅在存檔首頁上顯示文本
如果您的帖子比您的檔案的一頁更適合,則該類別會分成多個頁面。 也許你想顯示靜態文本,如果用戶在結果的第一頁。
為此,請使用查詢$paged WordPress變量值的PHP if語句。
將以下內容放在循環中:
```
<?php if ( $paged < 2 ) : ?>
<p>Text for first page of Category archive.</p>
<?php else : ?>
<?php endif; ?>
```
此代碼詢問顯示的頁面是否是歸檔的第一頁。 如果是,則顯示第一頁的文本。 否則顯示后續頁面的文本。
# 修改帖子的顯示方式
## 摘錄與全職
您可以選擇是否顯示完整的帖子或只是摘錄。 通過顯示摘錄,縮短存檔頁面的長度。
打開你的文件并找到循環。 尋找:
- the_content() 并替換為:
- the_excerpt() 如果您的主題顯示摘錄,但是要顯示完整的內容,請將the_excerpt替換為the_content。
- 簡介
- 主題開發
- WordPress許可證
- 什么是主題
- 開發環境
- 主題開發示例
- 主題基礎
- 模板文件
- 主樣式表(style.css)
- 文章類型
- 規劃主題文件
- 模板層級
- 模板標簽
- 循環
- 主題函數
- 連接主題文件和目錄
- 使用CSS和JavaScript
- 條件標簽
- 類別,標簽和自定義分類
- 模板文件
- 內容模板文件
- 頁面模板文件
- 附件模板文件
- 自定義內容類型
- 部分和其他模板文件
- 評論模板
- 分類模板
- 404頁面
- 主題功能
- 核心支持的功能
- 管理菜單
- 自定義Headers
- 自定義Logo
- 文章格式
- 置頂文章
- Sidebars
- Widgets
- 導航菜單
- 分頁
- 媒體
- Audio
- Images
- Galleries
- Video
- 精選圖片和縮略圖
- 國際化
- 本地化
- 輔助功能
- 主題選項 – 自定義API
- 定制對象
- 改進用戶體驗的工具
- 定制JavaScript API
- JavaScript / Underscore.js渲染的自定義控件
- 高級用法
- 主題安全
- 數據消毒/逃避
- 數據驗證
- 使用隨機數
- 常見漏洞
- 高級主題
- 子主題
- UI最佳實踐
- JavaScript最佳做法
- 主題單元測試
- 驗證你的主題
- Plugin API Hooks
- 發布你的主題
- 所需的主題文件
- 測試
- 主題評論指南
- 寫文檔
- 提交你的主題到WordPress.org
- 參考文獻
- 模板標簽列表
- 條件標簽列表
- 編碼標準
- HTML編碼標準
- CSS編碼標準
- JavaScript編碼標準
- PHP編碼標準
- 插件開發
- 插件開發簡介
- 什么是插件
- 插件基礎
- 頭部要求
- 包括軟件許可證
- 啟用 / 停用 Hooks
- 卸載方法
- 最佳做法
- 插件安全
- 檢查用戶功能
- 數據驗證
- 保護輸入
- 保護輸出
- 隨機數
- Hooks
- Actions
- Filters
- 自定義Hooks
- 高級主題
- 管理菜單
- 頂級菜單
- 子菜單
- 短代碼
- 基本短碼
- 封閉短碼
- 帶參數的短代碼
- TinyMCE增強型短碼
- 設置
- 設置API
- 使用設置API
- 選項API
- 自定義設置頁面
- 元數據
- 管理帖子元數據
- 自定義元數據
- 渲染元數據
- 自定義文章類型
- 注冊自定義文章類型
- 使用自定義文章類型
- 分類
- 使用自定義分類
- 在WP 4.2+中使用“split術語”
- 用戶
- 創建和管理用戶
- 使用用戶元數據
- 角色和功能
- HTTP API
- JavaScript
- jQuery
- Ajax
- 服務器端PHP和入隊
- Heartbeat API
- 概要
- 計劃任務
- 了解WP-Cron計劃
- 安排WP-Cron 事件
- 將WP-Cron掛接到系統任務計劃程序中
- WP-Cron簡單測試
- 國際化
- 本地化
- 如何國際化您的插件
- 國際化安全
- WordPress.org
- 詳細插件指南
- 規劃您的插件
- 如何使用Subversion
- 插件開發者常見問題
- 開發工具
- Debug Bar 和附加組件
- 輔助插件
- REST API手冊
- 資源
- 文章
- 文章修訂
- 文章類型
- 文章狀態
- 類別
- 標簽
- 頁面
- 評論
- 分類
- 媒體
- 用戶
- 設置
- 使用REST API
- 全局參數
- 分頁
- 鏈接和嵌入
- 發現
- 認證
- 經常問的問題
- 骨干JavaScript客戶端
- 客戶端庫
- 擴展REST API
- 添加自定義端點
- 自定義內容類型
- 修改回應
- 模式
- 詞匯表
- 路由和端點
- 控制器類