什麼是 Taxonomy(分類法)
點開 WordPress 網站後台「文章 (Post)」一項,我們會看到其下有「分類 (category)」、「標籤 (Tag)」兩個屬性:它們內建在 WordPress 預設環境中,用來標記文章的特性、並將之群組化,藉以將內容作更有效的分類和區別。像這樣的屬性我們就稱之為 Taxonomy(分類法)。
Taxonomy 的特性
WordPress 中的 Taxonomy(分類法)分為 有階層、無階層兩種。
特性 | 範例 | 說明 | 使用者介面 |
---|---|---|---|
有階層的分類法 | 文章分類(category) | 有階層架構,彼此之間可定義為父、子分類的關係。可將同性質的分類群組化。 | 樹狀勾選 |
無階層的分類法 | 文章標籤(post_tag) | 無階層架構,彼此之間平行、沒有從屬關係。 | 文字框 |
為什麼需要自訂 Taxonomy (Custom Taxonomy)
前文我們曾經說過:想在 WordPress 系統中實現特定功能,除了文章外,會需要處理更多不同類型的資料,因此需要 Custom Post Type 的協助。那麼,如同文章具有分類、標籤,自訂的 Post Type 同樣需要自訂的 Taxonomy (分類法)來標記特徵與屬性。
如何新增 Custom Taxonomy
在 WordPress 中新增 Custom Post Type,主要有兩種方法:
自行撰寫程式碼
您可以參閱 WordPress 官方文件,瞭解如何使用 register_taxonomy
函式及參數,在系統中註冊 Custom Taxonomy;或以 GenerateWP 這類半自動化的工具,協助您產生需要的程式碼。這些程式碼,直接放置在目前佈景主題的 functions.php 就會生效;或者利用外掛存放程式碼(例如 Code Snippets),方便作更進一步的管理。
透過外掛新增並管理
在眾多外掛工具中,Custom Post Type UI (CPT UI) 由於推出的早、免費使用,又有持續維護和更新,安裝數量是最多的。不過,最近由於 Advanced Custom Field (ACF) 6.1 新版本釋出,在免費版就能使用自訂 Post Type 與 Taxonomy 的新功能,以下我們就使用 ACF 6.1 作為示範。
使用 ACF 6.1 新增 Custom Taxonomy
安裝並啟用 Advanced Custom Field
前往 WordPress 後台的「外掛 (Plugin)」>「安裝外掛 (Add New)」,並在右側的搜尋欄位輸入 Advanced Custom Fields,下方會出現對應的搜尋結果。點擊「立即安裝 (Install)」開始安裝程序,安裝完成後按鈕文字會變更為「啟用 (Activate)」,再次點擊按鈕啟用。
新增並編輯 Custom Taxonomy
前往 WordPress 後台的「ACF」>「Taxonomies」,按下「+Add New (新增) 」按鈕。
進入新增 Post Type 畫面,此處有 4 個欄位:
原始文字 | 說明 | 用途 |
---|---|---|
Plural Label | 複數形態標籤 | 表示這個 Taxonomy 的總稱。 |
Singular Label | 單數形態標籤 | 表示這個 Taxonomy 的單筆資料。* |
Taxonomy Key | 鍵值/代稱 | 表示這個 Taxonomy 在系統中的唯一命名,也是網址結構中所出現的文字。僅容許英數文字、橫線及底線。 |
Post Types | 關聯的 Post Type | 與這個 Taxonomy 相關聯的 Post Type。 |
按:Plural Label 與 Singular Label 用於前台/後台介面的顯示文字,可任意輸入,亦支援中文。在拼音文字(如西歐字母等)有單數、複數型態的差別;但由於中文詞彙沒有區分單複數,使用中文來命名 Post Type 時,可以輸入同一個詞彙,沒有差別。
Advanced Configuration(進階設定)
此處包含更多細部設定,進一步說明可參考 官方文件 。
完成 Custom Taxonomy 註冊
填寫完畢後,按下右上角「 Save Changes」,完成新增。你會發現新增的分類法,將出現在關聯的 Post Type 選單下,供您使用。