您要在WordPress中創建自定義分類法嗎?
默認情況下,WordPress允許您使用類別和標籤來組織內容。 但是,使用自定義分類法,您可以進一步自定義內容排序方式。
在本文中,我們將向您展示如何在WordPress中輕鬆創建自定義分類法,無論是否使用插件。
儘管創建自定義分類法功能強大,但還有很多內容需要介紹。 為了幫助您正確地進行此設置,我們在下面創建了一個簡單的目錄:
什麼是WordPress分類法?
WordPress分類法是一種組織帖子和自定義帖子類型的方法。 分類一詞來自稱為Linnaean分類的生物分類方法。
默認情況下,WordPress帶有兩個分類法,分別稱為類別和標籤。 您可以使用它們來組織您的博客文章。
但是,如果您使用的是自定義帖子類型,則類別和標籤可能並不適合所有內容類型。
例如,您可以創建一個名為“ Books”的自定義帖子類型,並使用一種名為“ topics”的自定義分類法對其進行排序。
您可以添加主題詞,例如“冒險”,“浪漫史”,“恐怖”以及您想要的其他書籍主題。 這將使您和您的讀者可以輕鬆地按每個主題對書籍進行排序。
分類法也可以是分層的,這意味著您可以擁有小說和非小說等主要主題。 然後,您將在每個類別下都有子主題。
例如,小說將冒險,浪漫和恐怖作為子主題。
現在您知道什麼是自定義分類法,讓我們學習如何在WordPress中創建自定義分類法。
如何在WordPress中創建自定義分類法
我們將使用兩種方法來創建自定義分類法。 首先,我們將使用一個插件來創建自定義分類法。
對於第二種方法,我們將向您展示代碼方法,以及如何在不使用插件的情況下使用它來創建自定義分類法。
在WordPress中創建自定義分類法(視頻教程)
如果您喜歡書面說明,請繼續閱讀。
使用插件創建自定義分類法(簡便方法)
您需要做的第一件事是安裝並激活“自定義帖子類型” UI插件。 有關詳細信息,請參閱有關如何安裝WordPress插件的指南。
在本教程中,我們已經創建了一個自定義帖子類型,並將其稱為“書籍”。 因此,在開始創建分類法之前,請確保已創建自定義帖子類型。
接下來,前往 CPT用戶界面»添加/編輯分類法 WordPress管理區域中的菜單項以創建您的第一個分類法。
在此屏幕上,您需要執行以下操作:
- 創建分類標籤(將在您的URL中)
- 創建複數標籤
- 創建單個標籤
- 自動填充標籤
第一步是為分類法創建塊。 URL和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。