如何創建和管理 WordPress 自定義帖子類型?

已發表: 2022-09-15
目錄隱藏
1.什麼是 WordPress 自定義帖子類型?
2.如何創建 WordPress 自定義帖子類型?
2.1。 使用插件創建 WordPress 自定義帖子類型
2.2. 手動創建自定義帖子類型
3.在您的網站上顯示自定義帖子類型
3.1。 使用默認存檔模板顯示自定義帖子類型
3.2. 創建自定義帖子類型模板
3.3. 在首頁顯示自定義帖子類型
3.4. 查詢自定義帖子類型
3.5. 在小部件中顯示自定義帖子類型
4.如何從一個地方管理數百個 WordPress 帖子類型(包括自定義帖子類型)?
4.1。 使用 Smart Manager(應用程序)管理數百種帖子類型
4.1.1。 管理產品帖子類型
4.1.2. 管理訂單、優惠券、訂閱……
5.結論

今天的內容管理超越了帖子、頁面和媒體。 需要根據店鋪需求創建、編輯和管理數百種內容類型,例如訂單、優惠券、評論、訂閱和會員。

在本文中,您將學習如何從一個地方創建和管理 WordPress 自定義帖子類型,從而節省您的時間和金錢。

讓我們開始吧。

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

本質上,帖子類型是指 WordPress 網站上不同類型的內容。

安裝 WordPress 時,您只會獲得五種默認帖子類型:帖子、頁面、附件、修訂和菜單。 今天的好消息是,WordPress 非常靈活,允許您創建自己的帖子類型。 因此,這些類型的帖子被稱為自定義帖子類型。

這些對於創建格式與通常的標準帖子或頁面不同的內容非常有用,而且好的部分是 WordPress 支持無限數量的自定義帖子類型。

例如,如果您運行一個會員網站,您會想要添加一個名為“會員”的自定義帖子類型。

作為 WooCommerce 店主,您還可以為產品、訂單、優惠券、訂閱、直銷等創建自定義帖子類型。

創建後,自定義帖子類型將在 WordPress 儀表板管理區域中擁有自己的菜單

話雖如此,讓我們看看如何在 WordPress 中輕鬆創建自定義帖子類型以供您自己使用。

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

創建自定義帖子類型有兩種方法:

  1. 使用插件
  2. 手動

使用插件創建 WordPress 自定義帖子類型

對於非技術人員和初學者,此選項既簡單又安全。

我們建議使用最流行的自定義帖子類型 UI 插件,該插件有1+ 百萬活躍安裝。 該插件提供了一個易於使用的界面,用於為您的網站註冊和管理自定義帖子類型和分類法。

安裝並激活插件後,轉到您的WordPress Admin panel > CPT UI > Add / Edit Post Types以創建新的自定義帖子類型。 您應該位於“ Add New Post Type選項卡上。

首先,為您的自定義帖子類型提供一個 slug,例如事件。 這個 slug 將在 URL 和 WordPress 查詢中使用,因此它只能包含字母和數字。 在此之下,為您的自定義帖子類型提供複數和單數名稱。

添加新的 WordPress 自定義帖子類型

接下來,單擊鏈接Populate additional labels based on chosen labels 。 這將自動填寫下方的附加標籤字段,作為回報,節省您的時間。

現在向下滾動到Additional Labels部分。 如果您沒有點擊上面的鏈接,您需要為您的帖子類型提供說明並更改標籤。

自定義帖子類型附加字段

當您管理特定帖子類型的內容時,這些標籤將在整個 WordPress 用戶界面中使用。

完成後,轉到帖子類型設置。 在這裡,您可以為您的帖子類型設置不同的屬性。 每個選項都有一個簡短的描述,解釋它的作用。

自定義帖子類型設置

例如,您可以選擇不使帖子類型像頁面一樣分層或反向排序按時間順序的帖子。

在常規設置下方的部分中,您將看到用於選擇此帖子類型支持的編輯功能的選項。 只需檢查您想要包含的選項。

最後,單擊Add Post Type按鈕以保存並創建您的自定義帖子類型。

帖子編輯器功能

而已。 您現在可以將內容添加到新的自定義帖子類型,因為您已成功創建它。

我們將在本文後面向您展示如何在您的網站上顯示您的自定義帖子類型。

手動創建自定義帖子類型

使用插件的主要缺點是當插件被停用時,您的自定義帖子類型將消失。

您在這些自定義帖子類型中擁有的任何數據仍將存在,但您的自定義帖子類型將被取消註冊,並且無法從管理區域訪問。

如果您對代碼或與技術人員合作有點熟悉,那麼您可以通過在主題的 functions.php 文件或特定於站點的插件中添加所需的代碼來手動創建自定義帖子類型。

首先,我們將向您展示一個快速且完整的示例,以便您了解它的工作原理。 看看這段代碼:

// 我們自定義的帖子類型函數
函數 create_posttype() {
  
    register_post_type('事件',
    // 彩管選項
        大批(
            '標籤' => 數組(
                '名稱' => __( '事件' ),
                'singular_name' => __( '事件' )
            ),
            '公共' => 真的,
            'has_archive' => 真,
            'rewrite' => array('slug' => 'events'),
            'show_in_rest' => 真,
  
        )
    );
}
// 將我們的函數連接到主題設置
add_action('init', 'create_posttype');

此代碼片段使用一組參數註冊 post 類型events 。 這些參數是我們自定義帖子類型的選項。

該數組有兩個部分。 第一部分被標記並且本身就是一個數組。 第二部分包含其他參數,如公共可見性、'has_archive、slug 和 show_in_rest,它們支持塊編輯器。

讓我們看一下為您的自定義帖子類型添加其他選項的更詳細的代碼:

/*
* 創建一個函數來創建我們的 CPT
*/
  
功能 custom_post_type() {
  
// 為自定義帖子類型設置 UI 標籤
    $標籤=數組(
        'name' => _x('Events', 'Post Type General Name', 'twentytwentyone'),
        'singular_name' => _x('Event', 'Post Type Singular Name', 'twentytwentyone'),
        'menu_name' => __( '事件', 'twentytwentyone' ),
        'parent_item_colon' => __( '父事件', 'twentytwentyone' ),
        'all_items' => __('所有事件', 'twentytwentyone' ),
        'view_item' => __('查看事件', 'twentytwentyone' ),
        'add_new_item' => __('添加新事件,'twentytwentyone'),
        'add_new' => __('新增', 'twentytwentyone' ),
        'edit_item' => __( '編輯事件', 'twentytwentyone' ),
        'update_item' => __( '更新事件', 'twentytwentyone' ),
        'search_items' => __( '搜索事件', 'twentytwentyone' ),
        'not_found' => __('未找到', 'twentytwentyone' ),
        'not_found_in_trash' => __( '未在垃圾箱中找到', 'twentytwentyone' ),
    );
      
// 設置自定義帖子類型的其他選項
      
    $args = 數組(
        'label' => __('Events', 'twentytwentyone'),
        'description' => __('事件數據', 'twentytwentyone' ),
        '標籤' => $標籤,
        // 此 CPT 在帖子編輯器中支持的功能
        'supports' => array('title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
        // 您可以將此 CPT 與分類或自定義分類相關聯。 
        '分類法' => 數組('流派'),
        /* 分層 CPT 類似於 Pages,可以有
        * 父項和子項。 非等級 CPT
        * 就像帖子。
        */
        '分層' => 假,
        '公共' => 真的,
        'show_ui' => 真,
        'show_in_menu' => 真,
        'show_in_nav_menus' => 真,
        'show_in_admin_bar' => 真,
        'menu_position' => 5,
        'can_export' => 真,
        'has_archive' => 真,
        'exclude_from_search' => 假,
        'publicly_queryable' => 真,
        'capability_type' => '發布',
        'show_in_rest' => 真,
  
    );
      
    //註冊您的自定義帖子類型
    register_post_type('事件',$args);
  
}
  
/* 掛鉤到 'init' 動作,以便函數
* 包含我們的帖子類型註冊不是 
* 不必要地執行。 
*/
  
add_action('init', 'custom_post_type', 0);

如您所見,我們使用此代碼為自定義帖子類型添加了更多選項。 這將添加更多功能,例如支持修訂、特色圖像、自定義字段等。

我們還將此自定義帖子類型與稱為genres的自定義分類法相關聯。

您可能還會注意到我們將分層值設置為 false 的部分。 如果您希望自定義帖子類型的行為類似於 Pages,則可以將此值設置為 true。

您可以在主題目錄的style.css文件中找到主題的文本域。 文本域將在文件頭中提及。

在您的網站上顯示自定義帖子類型

創建帖子類型後,您需要將其展示給網站上的訪問者。

WordPress 內置支持顯示您的自定義帖子類型。 將一些項目添加到新的自定義帖子類型後,就可以在您的網站上顯示它們了。

您可以使用幾種方法,每種方法都有自己的好處。

使用默認存檔模板顯示自定義帖子類型

轉到您的WordPress admin panel > Appearance > Menus並將自定義鏈接添加到您的菜單。 此自定義鏈接是指向您的自定義帖子類型的鏈接。

如果您使用的是 SEO 友好的永久鏈接,那麼您的自定義帖子類型的 URL 將主要是這樣的:http://example.com/events。

如果您沒有使用 SEO 友好的永久鏈接,那麼您的自定義帖子類型 URL 將是這樣的:
http://example.com/?post_type=events。

不要忘記將“example.com”替換為您自己的域名,將“events”替換為您的自定義帖子類型名稱。

顯示自定義帖子類型

保存您的菜單,然後訪問您網站的前端。 您將看到您添加的新菜單項,單擊時,它將使用您主題中的 archive.php 模板文件顯示您的自定義帖子類型存檔頁面。

創建自定義帖子類型模板

顯示自定義帖子類型的第二種方法是使用自定義帖子類型存檔的專用模板。

您需要做的就是在主題目錄中創建一個新文件並將其命名為archive-events.php 。 確保將“事件”替換為自定義帖子類型的名稱。

首先,您可以將主題的archive.php 文件的內容複製到archive-events.php 模板中,然後根據需要對其進行修改。

現在,每當訪問自定義帖子類型的存檔頁面時,都會使用此模板來顯示它。

同樣,您也可以為帖子類型的單條目顯示創建自定義模板。 為此,您需要在主題目錄中創建 single-events.php。 不要忘記用您的自定義帖子類型的名稱替換“事件”。

您可以先將主題的 single.php 模板的內容複製到 single-events.php 模板中,然後開始修改它以滿足您的需求。

在首頁顯示自定義帖子類型

使用自定義帖子類型的一個優點是它可以讓您的自定義內容類型與您的常規帖子分開。 但是,如果您願意,您可以在您網站的首頁上顯示自定義帖子類型。

只需將此代碼添加到主題的 functions.php 文件或特定於站點的插件中。

add_action('pre_get_posts', 'add_my_post_types_to_query');
  
函數 add_my_post_types_to_query( $query ) {
    if ( is_home() && $query->is_main_query() )
        $query->set('post_type', array('post', 'events'));
    返回$查詢;
}

不要忘記用您的自定義帖子類型替換“事件”。

您還可以考慮此文檔以進一步參考添加自定義代碼。

查詢自定義帖子類型

如果您熟悉在模板中運行循環查詢,那麼這裡是如何做到這一點的。 通過查詢數據庫,您可以從自定義帖子類型中檢索項目。

您需要將以下代碼片段複製到您希望顯示自定義帖子類型的模板中。

<?php
$args = array('post_type' => 'events', 'posts_per_page' => 10);
$the_query = new WP_Query($args);
如果( $the_query->have_posts() ):
   而( $the_query->have_posts() ):
      $the_query->the_post(); ?>
      <h2><?php the_title(); ?></h2>
      <div class="entry-content">
         <?php the_content(); ?> 
      </div>
    <?php 結束;
    wp_reset_postdata();
其他:?>
<p><?php _e('抱歉,沒有符合您條件的帖子。'); ?></p>
<?php endif; ?>

此代碼在我們的新WP_Query類的參數中定義帖子類型和每頁帖子的數量。 然後它運行查詢,檢索帖子,並在循環中顯示它們。

在小部件中顯示自定義帖子類型

在這種情況下,您可以使用自定義帖子類型小部件插件。

轉到您的WordPress admin panel > Appearance > Widgets拖放到側邊欄。

此小部件允許您顯示任何帖子類型的最近帖子。 您需要從Post Type下拉列表中選擇您的自定義帖子類型,然後選擇您想要的選項。

之後,請確保單擊屏幕頂部的“更新”按鈕,然後訪問您的網站以查看正在運行的小部件。

除了自定義帖子類型外,該插件還提供存檔小部件、日曆、類別、最近評論、搜索和標籤雲。

好吧,這就是關於顯示自定義帖子類型的內容。

現在,讓我們轉到關於在 WordPress 中管理自定義帖子類型的一個非常重要但有趣的部分。

如何從一個地方管理數百個 WordPress 帖子類型(包括自定義帖子類型)?

現在,您可以請客了。

隨著您的業務增長,將有成百上千的數據字段來自數百種不同的帖子類型進行管理。 無論是帖子、頁面、媒體、WooCommerce 產品、訂單、優惠券、用戶、會員、訂閱……

如果您要訪問每種帖子類型並進行一次更改,那麼管理和編輯這些數據將是一場噩夢。 您絕對不希望我在這裡提及編輯數百個此類數據字段的痛苦。

那麼,如果您可以使用熟悉的類似 Excel 的電子表格從一個地方管理和編輯所有這些 WordPress 帖子類型會怎樣?

Smart Manager 插件絕對是您所需要的。

使用 Smart Manager(應用程序)管理數百種帖子類型

使用 Smart Manager,您可以

很快,您還可以很好地管理自定義分類法。

為您要管理的帖子類型選擇儀表板,然後根據需要進行編輯。

管理產品帖子類型

WooCommerce 智能管理器產品儀表板

例如,這是產品帖子類型的儀表板。 對於產品,您可以:

  • 直接編輯庫存狀態、常規和銷售價格、描述和其他詳細信息
  • 將新產品直接添加到 Smart Manager 網格
  • 應用高級搜索過濾器以獲取所需的產品,例如“價格在 100 美元到 200 美元之間的產品”。
  • 批量編輯這 60 種產品以降低 10% 的價格
  • 永久刪除測試產品
  • 複製所有產品或基於過濾器
  • 將產品數據導出為 CSV
  • 創建一個自定義視圖,如“庫存日誌”儀表板

還有更多……

有關更多產品相關操作,請參閱 Smart Manager 文檔。

管理訂單、優惠券、訂閱……

選擇帖子類型的儀表板並開始編輯所有字段,包括您對產品所做的自定義字段:

  • 帖子和頁面——標題、圖片、從草稿到發布的更新帖子狀態等。
  • 訂單——更改狀態、賬單明細、運輸字段、貨幣等。
  • Coupon s – 修改優惠券使用、金額、類型、有效期、刪除優惠券等。
  • 用戶(客戶)——查看生命週期價值、編輯賬單和運輸細節、修改憑證等。
  • 媒體——標題、內容、摘錄、作者、菜單順序等。
  • 會員- 導出所有會員數據,批量升級會員計劃,取消會員狀態等。
  • 訂閱——批量重新激活或取消訂閱、延長免費試用期、降低註冊費、增加運費等。
  • 預訂- 編輯預訂價格、重新安排、取消、導出等。
  • 額外的產品選項——添加運輸選項、添加禮品包裝選項、顯示自定義選項、追加銷售更高的計劃等。
  • Dropshipping——管理供應商、產品價格、庫存狀態等。
  • 多供應商——添加新供應商、編輯發貨、稅級、佣金狀態、客戶備註、標記訂單等。
  • LMS – 管理和編輯課程、課程、長度和難度、重複課程等。
  • 高級自定義字段——添加、編輯和刪除所有字段類型,如縮略圖、單選按鈕、複選框、範圍、文件等。

和數百種帖子類型……

相當靈活和酷,對吧?

試試現場演示

結論

我希望您發現此博客有助於學習如何在 WordPress 中創建自定義帖子類型。 建議使用自定義帖子類型 UI 插件以避免編碼麻煩。 但請注意停用插件。

此外,如果您不想在管理如此多的自定義帖子類型時感到沮喪,請使用 Smart Manager 從一個地方輕鬆管理任何類型的帖子。

我相信你以後會感謝我的。