什麼是 WordPress 自訂文章類型?
WordPress 自訂文章類型允許你創建標準文章和頁面之外的其他內容類型。想像一下,如果你經營一個房地產網站,你可以創建一個名為“房產”的自訂文章類型,而不是將所有房產信息都塞到普通的文章中。這讓你可以更有效地組織和管理你的內容,並為不同類型的內容使用不同的模板和自定義字段。
預設情況下,WordPress 包含文章 (Posts) 和頁面 (Pages) 兩種文章類型。文章通常用於時間敏感的內容,例如新聞或部落格文章,而頁面則用於靜態內容,例如“關於我們”或“聯絡方式”頁面。自訂文章類型讓你擺脫這些限制,創建完全符合你網站需求的內容結構。
使用自訂文章類型的主要好處包括:
- 更好的組織性: 將不同類型的內容分開,更容易管理和查找。
- 定制化的展示: 為每種文章類型設計特定的模板,以最佳方式展示內容。
- 改善 SEO: 通过使用结构化数据标记和针对特定类型的受众进行优化,提高搜索排名。
- 提升使用者體驗: 提供更清晰、更直觀的網站導航,改善使用者體驗。
如何使用程式碼創建自訂文章類型
創建自訂文章類型最常見的方法是使用程式碼。雖然這聽起來有點嚇人,但其實並不難。你需要编辑你 WordPress 主題的 `functions.php` 檔案,或使用一個代碼片段外掛。強烈建議你使用子主題,以免在更新主題時丟失你的更改。
以下是一個創建名為“產品”的自訂文章類型的基本程式碼範例:
function create_product_post_type() {
$labels = array(
'name' => _x( '產品', 'Post Type General Name', 'textdomain' ),
'singular_name' => _x( '產品', 'Post Type Singular Name', 'textdomain' ),
'menu_name' => __( '產品', 'textdomain' ),
'name_admin_bar' => __( '產品', 'textdomain' ),
'parent_item_colon' => __( '父產品:', 'textdomain' ),
'all_items' => __( '所有產品', 'textdomain' ),
'add_new_item' => __( '新增產品', 'textdomain' ),
'add_new' => __( '新增', 'textdomain' ),
'new_item' => __( '新產品', 'textdomain' ),
'edit_item' => __( '編輯產品', 'textdomain' ),
'update_item' => __( '更新產品', 'textdomain' ),
'view_item' => __( '查看產品', 'textdomain' ),
'search_items' => __( '搜尋產品', 'textdomain' ),
'not_found' => __( '找不到產品', 'textdomain' ),
'not_found_in_trash' => __( '回收桶中找不到產品', 'textdomain' ),
);
$args = array(
'label' => __( '產品', 'textdomain' ),
'description' => __( '產品資訊', 'textdomain' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'thumbnail', 'revisions', 'custom-fields' ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-products',
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
);
register_post_type( 'product', $args );
}
add_action( 'init', 'create_product_post_type', 0 );
這個程式碼做了什麼?
- `create_product_post_type()`: 定義一個函數來註冊自訂文章類型。
- `$labels`: 定義用於 WordPress 管理介面中不同位置的標籤。
- `$args`: 定義自訂文章類型的各種參數,例如支援的功能 (標題、編輯器、特色圖片等)、分類法 (類別和標籤)、可見性、選單位置和圖示。
- `register_post_type( ‘product’, $args )`: 註冊自訂文章類型,其中 `’product’` 是文章類型的 slug(用於 URL)。
- `add_action( ‘init’, ‘create_product_post_type’, 0 )`: 在 WordPress 初始化時執行該函數。
將此程式碼新增到你的 `functions.php` 檔案 (或使用代碼片段外掛),然後刷新你的 WordPress 儀表板。你應該會看到一個名為“產品”的新選單項目。
使用外掛創建自訂文章類型
對於那些不熟悉程式碼或想要更簡單的解決方案的人來說,使用外掛是創建自訂文章類型的一個好選擇。有許多 WordPress 外掛可以讓你輕鬆創建和管理自訂文章類型,而無需編寫任何程式碼。
一些流行的自訂文章類型外掛包括:
- Custom Post Type UI (CPT UI): 可能是最受歡迎的外掛,介面簡單易用,功能强大。
- Pods: 一個更進階的外掛,不僅可以創建自訂文章類型,還可以創建自訂欄位和分類法。
- Toolset Types: 另一個功能强大的外掛,整合了自訂欄位、自訂文章類型和佈景主題編輯功能。
使用 CPT UI 創建自訂文章類型:
- 安裝並啟用 CPT UI 外掛。
- 前往 WordPress 儀表板中的“CPT UI”選單。
- 點擊“新增/編輯文章類型”。
- 輸入文章類型 slug (例如,`product`) 和複數名稱 (例如,`產品`)。
- 設定其他選項,例如支援的功能、分類法和可見性。
- 點擊“新增文章類型”。
就是這麼簡單! CPT UI 會自動生成創建自訂文章類型所需的程式碼。 你就可以開始新增你的“產品”了。
自訂文章類型的進階應用
創建自訂文章類型只是個開始。你可以通過添加自訂欄位、分類法和模板來進一步自定義它們,以滿足你的特定需求。
自訂欄位: 允許你為每篇文章添加額外的資訊。例如,對於“房產”自訂文章類型,你可以添加自訂欄位來存儲價格、地址、臥室數量和浴室數量。 可以使用外掛如 Advanced Custom Fields (ACF) 來管理自訂欄位。
自訂分類法: 允許你將自訂文章類型組織成不同的類別和標籤。例如,對於“產品”自訂文章類型,你可以創建一個名為“品牌”的自訂分類法。 CPT UI 也可以用来创建自定义分类法。
自訂模板: 允許你為自訂文章類型創建特定的設計。你可以複製你主題的 `single.php` 檔案,並將其命名為 `single-product.php` (假設你的文章類型 slug 是 `product`)。然後,你可以修改 `single-product.php` 檔案,以顯示 “產品” 文章的特定欄位和設計。
功能 | 說明 |
---|---|
SEO 設定 | 最佳化標題與描述,使用 Yoast SEO 或 Rank Math 等外掛。 |
外掛安裝 | 透過 WordPress 儀表板管理外掛,選擇安全且信譽良好的外掛。 |
佈景主題 | 選擇適合網站風格的主題,並確保與你的自訂文章類型相容。 |
常見問題
我应该使用插件还是代码来创建自定义文章类型?
如果你不熟悉程式碼,使用外掛是更好的選擇。 如果你需要更精細的控制或想要避免使用過多的外掛,可以使用程式碼。
我可以为一个自定义文章类型使用多个模板吗?
可以,你可以使用模板層級結構或條件標籤來根據不同的條件使用不同的模板。
自定义文章类型会影响网站的性能吗?
只要你合理地使用自訂文章類型,它們就不會對網站的效能產生重大影響。 最佳化你的程式碼和資料庫,以確保最佳效能。