如何創建和管理 WordPress 自定義分類法?

已發表: 2022-09-15
目錄隱藏
1.什麼是分類?
1.1。 平面與分層分類法
2.為什麼需要 WordPress 自定義分類法?
3.分類模板層次結構
3.1。 類別層次結構
3.2. 標籤層次結構
4.如何使用代碼創建自定義分類法?
4.1。 創建一個新插件
4.2. 創建新帖子
4.3. 分解代碼
5.如何使用插件創建 WordPress 自定義分類法?
5.1。 為自定義帖子添加分類法
5.2. 將自定義分類法添加到導航菜單
6. Pods——自定義內容類型和字段
7.如何管理和批量編輯自定義分類法?
8.結論

您想在 WordPress 中更好地組織您的內容嗎? 您需要創建自定義分類法。

默認情況下,WordPress 允許您使用類別和標籤來組織內容。 但是,使用自定義分類法,您可以靈活地對內容進行進一步分類。

但是分類法的設置也具有挑戰性。

因此,這篇文章將向您展示如何創建和使用 WordPress 自定義分類法。

事不宜遲,讓我們開始了解分類法。

什麼是分類學?

簡單來說,分類學是分類的科學術語,特別用於將生物分類為組或類型。

一個例子是如何對生物進行分類:

  • 植物
    • 樹木
      • 榕樹
      • 芒果
    • 花卉
      • 蓮花
      • 玫瑰
  • 動物
    • 哺乳動物
      • 大象
      • 獅子
    • 爬行動物
      • 鱷魚

平面與分層分類法

您可以將分類法製作成平面(只有一個級別)或分層(許多級別)。

例如,大象包括在哺乳動物之下,而哺乳動物本身則包括在動物之下,而動物之下則包括在生物之下。 因此,任何標有哺乳動物的項目同時是這三個層次“類別”的成員。

如果您分別考慮所有這些樹:

  • 榕樹
  • 芒果
  • 檀香

這是一個扁平的分類法,因為它們都處於同一水平。

為什麼需要 WordPress 自定義分類法?

與分類法一樣,WordPress 分類法是一種組織內容的方式,但在這裡,您可以組織帖子組和自定義帖子類型。

默認情況下, WordPress 帶有兩個分類法,稱為 categories 和 tags

因此,雖然有許多內置元素,但 WordPress 也方便開發人員創建自定義元素。 此自定義功能也擴展到帖子類型和分類法。

但是,如果您使用的是自定義帖子類型,那麼類別和標籤可能看起來並不適合所有內容類型。 內容越多,就越難以將它們分類為類別和標籤。

使用自定義分類法,您可以創建複雜的結構,將您的內容分成不同的部分。 這些也可以按層次組織,就像我們上面的生物分類示例一樣。

例如,您可以創建一個名為“電影”的自定義帖子類型,並使用名為“流派”的自定義分類對其進行排序。 您可以根據需要添加動作、浪漫、喜劇等類型。 這將使您和您的讀者可以輕鬆地按每種類型對電影進行分類。

使用自定義分類法的主要優點是您可以獨立於類別和標籤來引用它們。 他們甚至在 WordPress 管理區域中獲得了自己的詳細描述。

在 WordPress 中,標籤是扁平的,而類別是分層的。 換句話說,您可以將類別相互嵌套,而標籤都在同一級別。

分類模板層次結構

WordPress 按照模板層次結構確定的順序顯示帖子。

category.phptag.phptaxonomy.php模板允許按分類過濾的帖子與未過濾的帖子或按不同分類過濾的帖子區別對待。

注意:帖子指的是任何帖子類型——帖子、頁面、自定義帖子類型等。這些文件讓您可以定位特定的分類法或特定的分類法術語。 例如:

  • 分類-{分類}-{術語}.php
  • 分類-{分類}.php
  • 標籤-{slug}.php
  • 標籤-{id}.php
  • 類別-{slug}.php
  • 類別-{ID}.php

因此,例如,您可以在一個看起來與在其他類別中過濾的帖子不同的頁面上格式化名為 news 的動物分類中的所有帖子。

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 的文件。
  • 類別.php
  • 存檔.php
  • 索引.php

標籤層次結構

對於標籤,WordPress 會查找tag-{slug}.php文件。 如果它不存在,WordPress 然後查找下一個層次級別的文件, tag-{ID}.php等等。 如果 WordPress 找不到任何專用模板或 archive.php 模板文件,它將使用 index.php 恢復為默認行為。

標籤層次結構如下所示:

  • tag-{slug}.php:例如,如果標籤的 slug 名為“sometag”,WordPress 將查找名為 tag-sometag.php 的文件。
  • tag-{id}.php:例如,如果標籤的 ID 是“9”,WordPress 會查找名為 tag-9.php 的文件。
  • 標記.php
  • 存檔.php
  • 索引.php

如何使用代碼創建自定義分類法?

想像一下,這些自定義分類法和接口是在插件內部實現的。 您剛剛構建了自己的 Fiction 插件,可以在任何 WordPress 網站上重複使用。

例如:課程分類。

以下示例將向您展示如何創建一個插件,將自定義分類“課程”添加到默認帖子類型。

注意– 添加自定義分類的代碼不必在其自己的插件中。 如果需要,它可以包含在主題中或作為現有插件的一部分。

創建一個新插件

使用 init 操作掛鉤為帖子類型“Post”註冊分類“Course”。

/*
* 插件名稱:課程分類
* 描述:一個簡短的例子,展示瞭如何添加一個名為 Course 的分類。
* 版本:1.0
* 作者:developer.wordpress.org
* 作者 URI:https://codex.wordpress.org/User:Aternus
*/
 
功能 wporg_register_taxonomy_course() {
     $標籤=數組(
         'name' => _x('Courses', 'taxonomy general name'),
         'singular_name' => _x('Course', 'taxonomy single name' ),
         'search_items' => __( '搜索課程' ),
         'all_items' => __('所有課程'),
         'parent_item' => __( '家長課程' ),
         'parent_item_colon' => __( '家長課程:' ),
         'edit_item' => __( '編輯課程' ),
         'update_item' => __( '更新課程' ),
         'add_new_item' => __('添加新課程'),
         'new_item_name' => __( '新課程名稱' ),
         'menu_name' => __( '課程' ),
     );
     $args = 數組(
         'hierarchical' => true, // 使其分層(如類別)
         '標籤' => $標籤,
         'show_ui' => 真,
         'show_admin_column' => 真,
         'query_var' => 真,
         '重寫' => ['slug' => '課程'],
     );
     register_taxonomy('課程',['帖子'],$args);
}
add_action('init', 'wporg_register_taxonomy_course');

創建新帖子

激活您的插件。 轉到WordPress admin panel > Posts > Add New 。 除了類別和標籤之外,您應該會看到一個用於“課程”分類的新元框。

在帖子區域中添加了分類

分解代碼

下面的討論分解了上面使用的描述函數和參數的代碼。

函數wporg_register_taxonomy_course包含註冊自定義分類所需的所有步驟。

$labels數組保存自定義分類的標籤。 這些標籤將用於在管理區域中顯示有關分類的各種信息。

$args數組包含創建自定義分類時將使用的配置選項。

函數 register_taxonomy() 使用 $args 數組為帖子“帖子類型”創建一個帶有標識符 course 的新分類法進行配置。

函數 add_action() 將wporg_register_taxonomy_course函數執行與 init 動作掛鉤聯繫起來。

$args :$args 數組包含自定義分類的重要配置,它指示 WordPress 分類應該如何工作。

如何使用插件創建 WordPress 自定義分類法?

如果您不從事開發並且不想陷入編碼麻煩中,那麼使用插件是您的最佳選擇。

我們將考慮使用自定義帖子類型 UI 插件(1+ 百萬活躍安裝)來創建 WordPress 自定義分類法。 下載、安裝和激活插件,就像對任何 WordPress 插件一樣。

假設我們已經創建了一個名為“事件”的自定義帖子類型。 因此,請確保在開始創建分類法之前創建了自定義帖子類型。

接下來,轉到WordPress admin panel > CPT UI > Add/Edit Taxonomies以創建您的第一個分類。

創建新的 WordPress 自定義分類法

在此屏幕上,您需要執行以下操作:

  • 為分類創建一個 slug。 此 slug 用於 URL 和 WordPress 搜索查詢。 這只能包含字母和數字,它會自動轉換為小寫字母。
  • 接下來,您將為自定義分類填寫複數和單數名稱。
  • 從那裡,您可以選擇單擊“根據所選標籤填充其他標籤”鏈接。 如果您這樣做,那麼插件將自動為您填寫其餘的標籤字段。

現在,向下滾動到Additional Labels部分。 在此區域中,您可以提供分類的描述、分類的自定義管理菜單名稱和其他標籤。

當您編輯和管理該特定自定義分類的內容時,這些標籤會在您的 WordPress 儀表板中使用。

分類附加標籤

接下來,我們有Settings選項。 在此區域中,您可以為您創建的每個分類設置不同的屬性。 每個選項都有一個詳細說明它的作用的描述。

分類設置

在這裡,我們選擇使這個分類法分層。 這意味著我們的分類“受眾”可以有子主題。 例如,名為“學生”的主題可以包含學院、大學等子主題。

您可以在 WordPress 儀表板上的屏幕下方選擇許多其他設置。

最後,單擊底部的Add Taxonomy按鈕以保存您的自定義分類。

之後,繼續並在 WordPress 內容編輯器中編輯與此分類相關的帖子類型以開始使用它。

為自定義帖子添加分類法

現在您已經知道如何創建自定義分類法,讓我們通過一個示例來使用它們。

由於我們有一個名為“事件”的自定義帖子類型,因此它類似於您創建常規博客帖子的方式。

轉到您的WordPress admin panel > Events > Subjects以添加術語或主題。

在此屏幕上,寫下主題的名稱、slug、父級(如果有)和描述。

單擊Add New Subject按鈕以創建新主題。 您新添加的術語現在將出現在右欄中。

為帖子類型添加分類法

現在您有了一個可以在博客文章中使用的新術語。

您還可以在編輯或編寫該特定帖子類型下的內容時直接添加術語。

將自定義分類法添加到導航菜單

您可能還希望在網站的導航菜單中顯示主題。

轉到WordPress admin panel > Appearance > Menus ,然後在自定義分類選項卡下選擇要添加的術語。

將分類添加到導航菜單

不要忘記單擊“ Save Menu ”按鈕來保存您的設置。 您現在可以訪問您的網站以查看您的菜單。

而已。 這並不像看起來那麼困難。 有關更多詳細信息,請參閱插件文檔。

Pods – 自定義內容類型和字段

您可能想考慮使用 Pods 插件(超過 10 萬次活動安裝)來創建 WordPress 自定義分類法。

Pods 插件提供了一個簡單的界面,允許您創建和編輯自定義帖子類型、分類法、字段,以及擴展和自定義內容類型。

主要特點

  • 輕鬆顯示您的自定義內容,無論您想使用短代碼、小部件還是無代碼 Pods 模板。
  • 在 WordPress 主題模板和函數中接近或使用標準 PHP。
  • 在您的任何內容之間建立聯繫,以幫助組織相關領域。
  • 使用默認插件字段類型,或創建自己的。
  • 按角色/能力控制可見性
  • 所有常用字段選項,如日期和時間、數字、文本、顏色選擇器等
  • 適用於高級自定義字段。

如何管理和批量編輯自定義分類?

當您有太多內容時,管理分類法和自定義分類法將是一項艱鉅的任務。

那麼,如果您可以從一個地方管理和編輯所有分類法會怎樣?

直接進行編輯,一次將分類法分配給多個帖子,將分類法數據導出到 CSV 等等……

我們的 Smart Manager 插件將允許您做同樣的事情。 目前,您可以編輯和管理自定義帖子類型。 我們將很快推出自定義分類的功能!

結論

呸! 這是需要處理的大量信息。

我希望您現在精通 WordPress 自定義分類法以及如何設置它們。

如有任何疑問或建議,請留下您的評論。