如何在 WordPress 中創建自定義帖子類型

已發表: 2021-06-09
wordpress 自定義帖子類型
關注@Cloudways

當我們安裝WordPress時,我們在後端只獲得了三種內置的內容類型,即帖子、頁面和媒體。 然而,今天 WordPress 已經變得相當靈活和先進。

添加更多帖子類型的方法也有所擴展。 多樣化的使用需要更多的內容類型,因為帖子、頁面和媒體是不夠的,這就是 WordPress 自定義帖子類型派上用場的地方。

  • 什麼是 WordPress 自定義帖子類型?
  • 如何創建 WordPress 自定義帖子類型
  • 如何在 WordPress 網站上創建新的自定義帖子
  • 如何創建模板和獲取列表
  • 如何為自定義帖子類型添加菜單
  • 如何為自定義帖子類型創建詳細信息頁面

什麼是 WordPress 自定義帖子類型?

自定義帖子類型用於將常規 WordPress 網站轉換為內容管理系統。 顧名思義,您可以使用自定義帖子類型為您的網站創建各種內容類型。

更新:WordPress 5.x 帶有全新的 Gutenberg 編輯器。 如果您希望將 Gutenberg 與 WordPress 自定義帖子類型一起使用,這裡是為 CPT 啟用 Gutenberg 編輯器的一個很好的指南。
更新:WordPress 5.x 帶有全新的 Gutenberg 編輯器。 這是為自定義帖子類型啟用古騰堡編輯器的詳細指南

除此之外,您還可以在 WordPress 安裝中找到幾種默認可用的帖子類型,包括:

  • 帖子 - 博客文章
  • 頁面 - 靜態頁面
  • 附件 - 附加媒體
  • 修訂 - 修訂後
  • 導航菜單 - 導航菜單

注意:閱讀自定義帖子類型 codex 文檔以獲取有關 WordPress 中其他帖子類型的更多詳細信息。

在自定義帖子類型方面,WordPress 支持無限數量的自定義帖子類型。 您可以創建自定義帖子並隨時隨地調用它們。

例如,如果您運行一個新聞網站並想要添加一個名為“新聞”的自定義帖子類型。 創建後,新聞帖子類型將在 WordPress 儀表板管理區域中擁有自己的菜單。 此外,您可以創建多種帖子類型,例如電影、作品集等。

託管 WordPress 主機每月 10 美元起

在幾分鐘內部署安全且可擴展的雲服務器並見證改進的性能結果。

開始免費試用

如何創建 WordPress 自定義帖子類型

按照以下步驟在 WordPress 網站上創建自定義帖子類型:

  • 從 WordPress 主題目錄導航到function.php文件
  • 將以下代碼添加到function.php文件中
/* 自定義帖子類型開始 */

函數 create_posttype() {
register_post_type('新聞',
// 彩管選項

大批(
  '標籤' => 數組(
   '名稱' => __( '新聞' ),
   'singular_name' => __( '新聞' )
  ),
  '公共' => 真的,
  'has_archive' => 假,
  '重寫' => 數組('slug' => '新聞'),
 )
);
}
// 將我們的函數連接到主題設置
add_action('init', 'create_posttype');

/* 自定義帖子類型結束 */
  • 添加代碼後,新聞帖子類型將自動出現在管理區域中

Creating a Custom Post Type

  • 創建自定義帖子類型時,需要使用init作為add_action()中的鉤子,並且register_post_type()函數將接受參數
/*自定義帖子類型開始*/

函數 cw_post_type_news() {

$支持=數組(
'title', // 文章標題
'editor', // 發佈內容
'author', // 發表作者
'thumbnail', // 特色圖片
'excerpt', // 發布摘錄
'custom-fields', // 自定義字段
'comments', // 發表評論
'revisions', // 發布修訂
'post-formats', // 發布格式
);

$標籤=數組(
'名稱' => _x('新聞', '複數'),
'singular_name' => _x('news', 'singular'),
'menu_name' => _x('news', 'admin menu'),
'name_admin_bar' => _x('news', 'admin bar'),
'add_new' => _x('新增', '新增'),
'add_new_item' => __('添加新消息'),
'new_item' => __('新消息'),
'edit_item' => __('編輯新聞'),
'view_item' => __('查看新聞'),
'all_items' => __('所有新聞'),
'search_items' => __('搜索新聞'),
'not_found' => __('沒有找到新聞'),
);

$args = 數組(
'支持' => $支持,
'標籤' => $標籤,
'公共' => 真的,
'query_var' => 真,
'重寫' => 數組('slug' => '新聞'),
'has_archive' => 真,
'分層' => 假,
);
register_post_type('新聞', $args);
}
add_action('init', 'cw_post_type_news');

/*自定義帖子類型結束*/

$supports:指定帖子類型兼容並支持所有基本功能。

$labels:指定帖子類型正確引用到管理區域。

$args:指定新聞的永久鏈接段和位於Posts菜單下方的菜單位置。

現在讓我們看看向我們的 WordPress 網站添加自定義帖子功能之前和之後的情況。

Before adding custom post features on WordPress

– 添加功能之前

After adding custom post features on WordPress
- 添加功能後

上面的步驟告訴瞭如何將 WordPress 自定義帖子類型註冊到任何主題的後端。 現在讓我們學習如何在 WordPress 網站上添加自定義帖子。

如何在 WordPress 網站上創建新的自定義帖子

您可以按照以下步驟在 WordPress 網站上創建新的自定義帖子:

  • 點擊註冊的自定義帖子類型,在我們的例子中是“新聞”。
  • 單擊添加新的
  • 輸入帖子的標題正文
  • 鍵入摘錄,並設置特色圖像
  • 單擊“發布”按鈕以實時發布新的自定義帖子。

Create a New Custom Post on a WordPress Website

如何創建模板和獲取列表

創建模板並獲取列表需要創建一個名為 template-news.php 的新文件。

  • 將新創建的文件放在您的主題文件夾中。
  • 將以下代碼添加到文件中:
 <?php
/*模板名稱:新聞*/
get_header();
查詢帖子(數組(
   'post_type' => '新聞'
)); ?>
<?php
while (have_posts()) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<p><?php the_excerpt(); ?></p>
<?php 結束;
get_footer();
?>

頁面構建器讓您無需代碼即可開發網站

找出哪個頁面構建器表現最好以及創建網站所需的功能。

帶我到那裡

選擇一個模板

  • 轉到您的WordPress 儀表板
  • 單擊頁面>添加新的
  • 創建一個名為“新聞”的新頁面
  • 點擊右側的頁面屬性,進入模板下的下拉菜單
  • 選擇新模板“新聞
  • 單擊更新按鈕以設置您的模板

有關上述步驟的直觀表示,請參閱下圖:

Select template

下圖代表您的列表頁面的最終顯示:

Listing Page Result

如何為自定義帖子類型添加菜單

按照以下步驟將您的自定義帖子類型添加為 WordPress 網站上菜單選項的一部分:

  • 轉到您的WordPress 儀表板
  • 導航到外觀>菜單
  • 新聞頁面添加到您的主菜單,以顯示指向我們新創建的 WordPress 自定義帖子類型新聞的導航鏈接

如需進一步參考,請查看下圖。

Add Menu for Custom Post Type

這就是您的網站在前端的外觀。 看看下面的圖片:

Front end page result

如何為自定義帖子類型創建詳細信息頁面

按照以下步驟為自定義帖子類型創建“詳細信息”頁面:

  • 添加一個名為 single-news.php 的新文件(位於您的 WordPress 主題中)
  • 將以下代碼添加到文件中:
 <?php
get_header();
/* 開始循環 */
while (have_posts()) : the_post();
   get_template_part('template-parts/post/content', get_post_format());
結束; // 循環結束。
get_footer();
?>

現在是時候看看您的詳細信息頁面是什麼樣子了:

Detail Page for Custom Post Type

包起來!

您現在已經學習瞭如何在 WordPress 中創建自定義帖子類型,這非常複雜,但可以按照本博客中提到的步驟輕鬆完成。 如果您對博客有任何疑問或建議,請隨時在下面發表評論。