##分類學概論
要了解分類標準是什么,他們做什么,請閱讀分類標準介紹。
##定制分類
WordPress還允許開發人員創建自定義分類。 當想要創建不同的命名系統并使它們以可預測的方式在幕后訪問時,自定義分類法是有用的。
隨著分類系統的發展,“分類”和“標簽”的結構并不是非常有限的,所以開發者創建自己的可能是有益的。
##為什么要使用自定義分類法?
你可能會問:“為什么要打造自定義分類法,當我可以按類別和標簽進行組織時?
好吧,讓我們用一個例子。假設我們有一個廚師的客戶,希望你創建一個網站,她將使用原始食譜。
組織網站的一種方法可能是創建一個名為“食譜”的自定義帖子類型來存儲她的食譜。然后創建一個分類“課程”,將“開胃菜”與“甜點”分開,最后將分類“成分”從“巧克力”中分離出來。
這些團體可以使用“分類”或“標簽”來定義,您可以擁有一個“課程”類別,其中包含“開胃菜”和“甜點”子類別,以及每種成分含有子類別的“成分”類別。
使用自定義分類法的主要優點是您可以獨立于類別和標簽參考“課程”和“成分”。他們甚至在管理區域獲得自己的菜單。
此外,創建自定義分類法允許您構建自定義界面,這將簡化客戶的使用壽命,并使數據插入到其業務性質的過程中。
現在想象這些自定義分類法和界面是在一個插件中實現的;您剛剛構建了可以在任何WordPress網站上重復使用的自己的Recepies插件。
示例:課程分類
以下示例將向您展示如何創建一個將自定義分類“課程”添加到默認帖子類型的插件。
嘗試創建自己的插件之前,請務必閱讀插件基礎章節。
##步驟1:開始之前
轉到帖子>添加新頁面。你會注意到你只有類別和標簽。
沒有自定義分類標簽
##步驟2:創建一個新的插件
使用init動作鉤子注冊分類“課程”的帖子類型“post”。
```
<?php
/*
* Plugin Name: Course Taxonomy
* Description: A short example showing how to add a taxonomy called Course.
* Version: 1.0
* Author: developer.wordpress.org
* Author URI: https://wordpress.slack.com/team/aternus
*/
function wporg_register_taxonomy_course()
{
$labels = [
'name' => _x('Courses', 'taxonomy general name'),
'singular_name' => _x('Course', 'taxonomy singular name'),
'search_items' => __('Search Courses'),
'all_items' => __('All Courses'),
'parent_item' => __('Parent Course'),
'parent_item_colon' => __('Parent Course:'),
'edit_item' => __('Edit Course'),
'update_item' => __('Update Course'),
'add_new_item' => __('Add New Course'),
'new_item_name' => __('New Course Name'),
'menu_name' => __('Course'),
];
$args = [
'hierarchical' => true, // make it hierarchical (like categories)
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => ['slug' => 'course'],
];
register_taxonomy('course', ['post'], $args);
}
add_action('init', 'wporg_register_taxonomy_course');
```
##步驟3:查看結果
激活您的插件,然后轉到帖子>添加新的。 你應該看到一個新的元框為您的“課程”分類。
courses_taxonomy_post_screen
##代碼細分
以下討論分解了上面使用的代碼描述功能和參數。
函數wporg_register_taxonomy_course包含注冊自定義分類法所需的所有步驟。
$ labels數組包含自定義分類標簽。
這些標簽將用于在管理區域中顯示有關分類法的各種信息。
$ args數組包含創建自定義分類時將使用的配置選項。
函數register_taxonomy()使用$ args數組為配置創建一個新的分類標準,其中標題課程為Post Post Type。
函數add_action()將wporg_register_taxonomy_course函數執行關聯到init動作鉤子。
## $ args
$ args數組包含自定義分類法的重要配置,它指示WordPress分類法如何工作。
看一下register_taxonomy()函數,以獲取所接受參數的完整列表,以及它們中的每一個。
##總結
通過我們的課程分類示例,WordPress將自動為課程分類法創建歸檔頁面和子頁面。
檔案頁面將使用“課程”(/ course / term-slug /)在/ course /中,并在其下生成子頁面。
##使用你的分類法
WordPress具有許多功能,用于與您的自定義分類法和其中的條款進行交互。
這里有些例子:
- the_terms: Takes a Taxonomy argument and renders the terms in a list.
- wp_tag_cloud: Takes a Taxonomy argument and renders a tag cloud of the terms.
- is_taxonomy: Allows you to determine if a given taxonomy exists.
- 簡介
- 主題開發
- 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
- 添加自定義端點
- 自定義內容類型
- 修改回應
- 模式
- 詞匯表
- 路由和端點
- 控制器類