如何在WordPress中創建自定義分類法


您要在WordPress中創建自定義分類法嗎?

默認情況下,WordPress允許您使用類別和標籤來組織內容。 但是,使用自定義分類法,您可以進一步自定義內容排序方式。

在本文中,我們將向您展示如何在WordPress中輕鬆創建自定義分類法,無論是否使用插件。

如何在WordPress中創建自定義分類法

儘管創建自定義分類法功能強大,但還有很多內容需要介紹。 為了幫助您正確地進行此設置,我們在下面創建了一個簡單的目錄:

什麼是WordPress分類法?

WordPress分類法是一種組織帖子和自定義帖子類型的方法。 分類一詞來自稱為Linnaean分類的生物分類方法。

默認情況下,WordPress帶有兩個分類法,分別稱為類別和標籤。 您可以使用它們來組織您的博客文章。

但是,如果您使用的是自定義帖子類型,則類別和標籤可能並不適合所有內容類型。

例如,您可以創建一個名為“ Books”的自定義帖子類型,並使用一種名為“ topics”的自定義分類法對其進行排序。

您可以添加主題詞,例如“冒險”,“浪漫史”,“恐怖”以及您想要的其他書籍主題。 這將使您和您的讀者可以輕鬆地按每個主題對書籍進行排序。

分類法也可以是分層的,這意味著您可以擁有小說和非小說等主要主題。 然後,您將在每個類別下都有子主題。

例如,小說將冒險,浪漫和恐怖作為子主題。

現在您知道什麼是自定義分類法,讓我們學習如何在WordPress中創建自定義分類法。

如何在WordPress中創建自定義分類法

我們將使用兩種方法來創建自定義分類法。 首先,我們將使用一個插件來創建自定義分類法。

對於第二種方法,我們將向您展示代碼方法,以及如何在不使用插件的情況下使用它來創建自定義分類法。

在WordPress中創建自定義分類法(視頻教程)

訂閱WPBeginner

如果您喜歡書面說明,請繼續閱讀。

使用插件創建自定義分類法(簡便方法)

您需要做的第一件事是安裝並激活“自定義帖子類型” UI插件。 有關詳細信息,請參閱有關如何安裝WordPress插件的指南。

在本教程中,我們已經創建了一個自定義帖子類型,並將其稱為“書籍”。 因此,在開始創建分類法之前,請確保已創建自定義帖子類型。

接下來,前往 CPT用戶界面»添加/編輯分類法 WordPress管理區域中的菜單項以創建您的第一個分類法。

使用插件的Creatig自定義分類

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

  • 創建分類標籤(將在您的URL中)
  • 創建複數標籤
  • 創建單個標籤
  • 自動填充標籤

第一步是為分類法創建塊。 URL和WordPress搜索查詢中都使用了該條。

它只能包含字母和數字,並且將自動轉換為小寫字母。

接下來,您將為自定義分類法填寫複數和單數名稱。

從那裡,您可以單擊鏈接“根據所選標籤填充其他標籤”。 如果執行此操作,則插件將自動為您填充其餘的標籤字段。

現在,向下滾動到“其他標籤”部分。 在此區域中,您可以提供您的帖子類型的描述。

標記您的WordPress分類法

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

接下來,我們有設置選項。 在此區域中,可以為創建的每個分類法設置不同的屬性。 每個選項都有詳細說明其功能的描述。

創建自定義分類體系

在上面的屏幕截圖中,您將看到我們選擇將此分類法進行分層。 這意味著我們的分類法“主題”可以包含子主題。 例如,一個名為“小說”的主題可以具有諸如“幻想”,“驚悚片”,“神秘”等子主題。

在WordPress儀表板的屏幕下方,還有許多其他設置,但是您可以在本教程中按原樣保留它們。

現在,您可以單擊底部的“添加分類法”按鈕以保存您的自定義分類法。

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

在帖子編輯器中使用分類法

手動創建自定義分類法(使用代碼)

此方法要求您將代碼添加到WordPress網站。 如果您以前沒有做過,那麼我們建議您閱讀有關如何輕鬆在WordPress中添加代碼段的指南。

1.創建分層分類法

讓我們從分層分類法開始,該分類法類似於類別,並且可以具有父項和子項。

將以下代碼添加到主題的 functions.php 文件或 特定於站點的插件(推薦) 創建類似類別的分層自定義分類法:

//hook into the init action and call create_book_taxonomies when it fires

add_action( 'init', 'create_subjects_hierarchical_taxonomy', 0 );

//create a custom taxonomy name it subjects for your posts

function create_subjects_hierarchical_taxonomy() {

// Add new taxonomy, make it hierarchical like categories
//first do the translations part for GUI

  $labels = array(
    'name' => _x( 'Subjects', 'taxonomy general name' ),
    'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Subjects' ),
    'all_items' => __( 'All Subjects' ),
    'parent_item' => __( 'Parent Subject' ),
    'parent_item_colon' => __( 'Parent Subject:' ),
    'edit_item' => __( 'Edit Subject' ), 
    'update_item' => __( 'Update Subject' ),
    'add_new_item' => __( 'Add New Subject' ),
    'new_item_name' => __( 'New Subject Name' ),
    'menu_name' => __( 'Subjects' ),
  ); 	

// Now register the taxonomy
  register_taxonomy('subjects',array('books'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
    'show_in_rest' => true,
    'show_admin_column' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'subject' ),
  ));

}

不要忘了用您自己的分類標籤替換分類名稱和標籤。 您還將注意到,此分類法與Books帖子類型相關聯,您需要將其更改為您要使用它的任何帖子類型。

2.創建非分層分類法

要創建非分層的自定義分類法(如標籤),請將此代碼添加到主題的 functions.php 或在特定於站點的插件中:

//hook into the init action and call create_topics_nonhierarchical_taxonomy when it fires

add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 );

function create_topics_nonhierarchical_taxonomy() {

// Labels part for the GUI

  $labels = array(
    'name' => _x( 'Topics', 'taxonomy general name' ),
    'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
    'search_items' =>  __( 'Search Topics' ),
    'popular_items' => __( 'Popular Topics' ),
    'all_items' => __( 'All Topics' ),
    'parent_item' => null,
    'parent_item_colon' => null,
    'edit_item' => __( 'Edit Topic' ), 
    'update_item' => __( 'Update Topic' ),
    'add_new_item' => __( 'Add New Topic' ),
    'new_item_name' => __( 'New Topic Name' ),
    'separate_items_with_commas' => __( 'Separate topics with commas' ),
    'add_or_remove_items' => __( 'Add or remove topics' ),
    'choose_from_most_used' => __( 'Choose from the most used topics' ),
    'menu_name' => __( 'Topics' ),
  ); 

// Now register the non-hierarchical taxonomy like tag

  register_taxonomy('topics','books',array(
    'hierarchical' => false,
    'labels' => $labels,
    'show_ui' => true,
    'show_in_rest' => true,
    'show_admin_column' => true,
    'update_count_callback' => '_update_post_term_count',
    'query_var' => true,
    'rewrite' => array( 'slug' => 'topic' ),
  ));
}

注意兩個代碼之間的區別。 對於類分類法,層次參數的值是true;對於標籤類分類法,值是false。

此外,在非分層標籤(如分類法)的標籤數組中,我們為parent_item和parent_item_colon參數添加了null,這意味著在創建父項的UI中將不顯示任何內容。

分類編輯器中的分類法

顯示自定義分類法

現在,我們已經創建了自定義分類法並添加了一些術語,您的WordPress主題仍然不會顯示它們。

為了顯示它們,您需要向WordPress主題或子主題添加一些代碼。

您需要在要顯示條款的模板文件中添加此代碼。

通常,它是single.php,content.php或WordPress主題中template-parts文件夾內的文件之一。 要弄清楚您需要編輯哪個文件,請參閱我們的WordPress模板層次結構指南以獲取詳細信息。

您將需要在要顯示條款的地方添加以下代碼。

ID, 'topics', 'Topics: ', ', ', ' ' ); ?>

您也可以將其添加到其他文件中,例如archive.php,index.php以及要顯示分類法的其他任何位置。

顯示自定義分類

默認情況下,您的自定義分類法使用 archive.php 顯示帖子的模板。 但是,您可以通過創建 taxonomy-{taxonomy-slug}.php

為自定義帖子添加分類法

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

我們將創建一個分類法,並將其稱為非小說類。

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

在WordPress資訊主頁中,前往 圖書»學科 添加一個術語或主題。

為您新創建的自定義分類法添加術語

在此屏幕上,您將看到4個區域:

  • 名稱
  • ug
  • 父母
  • 描述

在名稱中,您將寫下要添加的術語。 您可以跳過子彈部分,並提供對此特定術語的描述(可選)。

最後,單擊“添加新主題”按鈕以創建新的分類法。

您新添加的字詞現在將顯示在右欄中。

新增條款

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

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

只需轉到 圖書»添加新書 頁面以創建帖子。 在帖子編輯屏幕上,您會在右側的列中找到用於選擇或創建新術語的選項。

添加新術語或從現有術語中選擇

添加條款後,您可以繼續發布該內容。

根據該條款提交的所有帖子都可以通過您自己的URL在您的網站上訪問。 例如,小說主題下的帖子將出現在以下URL:

https://example.com/subject/fiction/

分類模板預覽

現在,您已經創建了自定義分類法,您可能希望顯示在網站的導航菜單中。

外觀»菜單 並在自定義分類標籤下選擇要添加的字詞。

嚮導航菜單添加術語

不要忘記單擊“保存菜單”按鈕來保存設置。

現在,您可以訪問您的網站以查看菜單。

在導航菜單中添加自定義分類法

有關更多詳細信息,請參閱有關如何在WordPress中創建下拉菜單的分步指南。

進一步推廣WordPress分類法

使用自定義分類法可以做很多事情。 例如,您可以在側邊欄小部件中顯示它們,或為每個術語添加圖像圖標。

您還可以在WordPress中為自定義分類添加啟用RSS提要,並允許用戶訂閱各個條款。

如果要自定義分類頁面的佈局,則可以簽出Beaver Themer或Divi。 它們都是拖放式WordPress頁面構建器,可讓您無需任何編碼即可創建自定義佈局。

我們希望本文能幫助您學習如何在WordPress中創建自定義分類法。 您可能還希望查看有關WordPress在幕後如何工作以及如何在不編寫任何代碼的情況下創建自定義WordPress主題的指南。

如果您喜歡這篇文章,請訂閱我們的YouTube頻道WordPress視頻教程。 您也可以在找到我們 推特 和Facebook。