您需要了解的有關 WordPress 自定義帖子類型的所有信息

已發表: 2015-05-26

我一直覺得 WordPress 有趣的一件事是它能夠使用帖子類型顯示不同類型的內容。 帖子類型允許您創建不止一種帖子。 為了使每個帖子看起來都像其他帖子一樣,您可以創建自己的自定義帖子類型。 在本文中,我們將了解自定義帖子類型,了解它們是什麼以及如何使用它們。

什麼是帖子類型?

帖子類型是在 WordPress 中發佈內容的方式。 WordPress 內置了五種帖子類型:

  • 頁面 - 看起來像一個常規帖子,但與常規帖子的基於時間的結構或類別無關。 他們在菜單中有自己的導航結構。 一個網站上通常只有幾個頁面。
  • Post – 用於日常發布的典型類型。 大多數文章使用這種帖子類型。 它們以相反的順序發布,因此最後一個帖子首先顯示。 這也用於 RSS 提要。
  • 附件 - 這是一個特殊的帖子,其中包含有關已上傳文件的信息。 信息包括元數據、描述、名稱、大小、縮略圖、位置、替代文本等。
  • 修訂 - 這些是草稿和已發布帖子的任何過去修訂。 它們是帖子的副本,但沒有發布。
  • 導航菜單 - 此帖子類型包含有關菜單結構中項目的信息。 它們不是顯示內容,而是根據結構、標籤、類別等顯示指向內容的鏈接。

您不僅限於使用這五個。 你可以自己做。 這稱為自定義帖子類型。

什麼是自定義帖子類型?

自定義帖子類型是您創建並添加到 WordPress 並定義了自定義參數的任何帖子類型。 您可以通過多種方式創建和使用它們。 它們像頁面模板一樣工作,以特定方式顯示具有特定佈局、功能和样式的內容,為您的網站提供自定義外觀。 這是劃分內容以使特定帖子脫穎而出的好方法。

如何使用自定義帖子類型

有很多方法可以使用自定義帖子類型。 這裡有一些例子:

  • 產品頁面——包括照片、描述、評論、購買鏈接等。
  • 評論(書籍、電影、遊戲、音樂、課程等)——將包括項目描述、功能、可用性、比較等。
  • 課程——將包括標題、描述、使用的材料、教師姓名、日期、地點、先決條件等。
  • 活動(音樂會、演出、展覽、婚禮、遊戲等)——將顯示描述、目的、參加者(演講者、藝術家等)、價格、地點、日期和時間等。它可以使用類似的模板到一張舊的活動海報。

所有這些都可以是您選擇創建帖子的自定義帖子類型。 您想進行音頻評論嗎? 選擇名為 Audio Review 的自定義帖子類型,您已經內置了佈局、樣式和功能。

使用代碼創建自定義帖子類型

添加自定義帖子類型的一種方法是手動將代碼添加到您的主題中。 您可以使用 register_post_type() 函數將自定義帖子類型添加到 WordPress 主題的 functions.php 文件中。 您可以通過標籤、支持的功能、可用性等定義新的帖子類型。

您必須在 admin_menu 之前和 after_setup_theme 操作掛鉤之後調用 register_post_type()。 WordPress Codex 推薦使用 init 鉤子。

下面是來自 WordPress Codex 的示例代碼,它創建了一個名為 Product 的帖子類型,該類型被標識為 acme_product:

[php] add_action('init', 'create_post_type');
函數 create_post_type() {
register_post_type('acme_product',
大批(
'標籤' => 數組(
'名稱' => __( '產品' ),
'singular_name' => __( '產品' )
),
'公共' => 真的,
'has_archive' => 真,
)
);
}
[/php]

參數 Labels 定義帖子類型的名稱,參數 Public 使帖子類型顯示在管理屏幕和站點本身中。

有很多參數可以傳遞給 register_post_type() 函數。 您可以使用它們在搜索中顯示自定義帖子類型、設置層次結構、更改其 URL、顯示或隱藏元框等等。 WordPress Codex 提供了完整的參數列表以及如何使用它們的示例。

命名約定

請注意,此示例中的帖子類型的名稱是 acme_product。 這使用將插件、主題或網站的名稱作為前綴的命名約定。 這可以防止其他自定義帖子類型與其他插件或主題中的帖子類型發生衝突。 只需確保名稱不超過 20 個字符即可。

檔案

為了使您的存檔頁面可訪問,您必須更新永久鏈接結構。 自定義帖子類型的模板以與常規帖子類型相同的方式放置在存檔中。 自定義帖子類型將使用:

存檔- {post_type} .php

模板

您還可以為自定義帖子類型使用自定義模板。 您可能需要調整您的永久鏈接結構。 此示例中的文件將使用:

acme_product .php

按帖子類型查詢

在 WordPress 主題中註冊模板文件後,您可以創建新查詢以顯示來自特定帖子類型的帖子。 您可以使用post_type參數來執行此操作。

這是來自 WordPress Codex 的示例:

[php] $args = array('post_type' => 'product', 'posts_per_page' => 10);
$loop = new WP_Query($args);
while ( $loop->have_posts() ) : $loop->the_post();
標題();
echo '<div class="entry-content">';
內容();
迴聲'</div>';
結束;
[/php]

主查詢中的自定義帖子類型

註冊自定義帖子類型後,您仍然必須將其添加到主查詢中。 使用 pre_get_posts 操作掛鉤將允許它們顯示在您的檔案和主頁上。

這是來自 WordPress Codex 的示例:

[php] // 在首頁顯示'post'、'page'和'movie'類型的帖子
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', 'page', 'movie'));
返回$查詢;}
[/php]

關於使用代碼

添加代碼有一些好處。 一方面,您可以簡化您的網站,而不必總是擔心更新插件。 將代碼添加到主題的一個問題是,如果您更改主題,則必須重寫代碼。

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

更簡單的方法是使用插件。 插件可以更輕鬆地切換主題,而無需重新編碼您的自定義帖子類型。

自定義帖子類型 UI

自定義帖子類型 UI

這個免費插件為您提供了一個界面來創建您自己的自定義帖子類型和分類法。 它不處理您在主題中註冊的自定義帖子類型,但它確實具有具有許多功能的直觀 UI。

自定義帖子類型 UI 2

要創建帖子類型,您需要添加 slug、標籤、描述和設置。 設置簡單而廣泛。 您可以設置其功能類型、菜單位置、它將支持的字段類型和格式、菜單圖標、分類等。 每種設置都有很多選擇和大量幫助。

您還可以導入和導出自定義帖子類型。 如果您想與同事共享它們,或者如果您想在您擁有的其他網站上使用它們,這非常好。

它很容易使用。 我能夠立即添加自定義帖子類型。 我可以回去編輯我的帖子類型,但在創建新帖子類型時無法複製。 這不是一個交易破壞者,但它會很方便。

Pods – 自定義內容類型和字段

Pods - 自定義內容類型和字段

有了這個,您可以創建新的帖子類型或擴展現有的帖子類型。 它將創建自定義帖子類型、自定義分類法、自定義設置頁面和高級內容類型。 要擴展現有帖子類型,您可以向常規帖子類型、分類法、媒體、用戶和評論添加新字段。

您可以從日期、數字、文本類型、段落文本、顏色選擇器、是/否、文件(圖像、視頻等)、頭像和關係中進行選擇。 您還可以在每種類型的 Pod 中為您的內容類型設置主題。 有一些可選組件可以添加角色和功能、頁面、模板、幫助、高級內容類型、表格、高級關係、降價和主題集成。 您可以從其他 UI 導入,它與許多其他插件和構建器兼容。

Pods - 自定義內容類型和字段 2

您可以創建自己的字段類型,甚至可以應用簡碼和 HTML。 這些選項易於創建和管理。 創建 Pod 後,您可以使用簡碼將它們添加到其他內容中。 Pod 按鈕出現在可視化編輯器中,您可以在其中選擇任何 Pod 的簡碼。 帖子類型也會添加到您的儀表板中,因此您可以像選擇頁面或帖子一樣選擇它。

開箱即用,這是創建自定義帖子類型的最佳選擇之一。 它易於使用並具有大量功能。 我對它沒有兼容性問題,使用它既簡單又直觀。 我希望看到復制 pod 的功能,但至少它們很容易製作。

自定義內容類型管理器

自定義內容類型管理器

這讓您可以創建具有標準化自定義字段的自定義帖子類型,包括複選框、下拉菜單、圖像等。您可以在單個字段中存儲多個帖子、媒體等。 這是存儲圖像庫和其他類型媒體的好方法。

自定義內容類型管理器 2

創建自定義帖子類型非常簡單。 您可以設置標籤、字段、列、菜單、URL、分類法、操作等。您可以為每個自定義帖子類型調整 PHP、CSS 和 HTML。 您還可以從包含的兩個示例模板創建自定義帖子類型。 創建帖子類型後,您只需激活它們即可使用。 您可以編輯或複制任何帖子類型。 這是我希望在其他人身上看到的功能。

它將您的帖子類型添加到儀表板,因此您可以像選擇頁面或帖子一樣選擇它們。 它還在您的可視化編輯器中添加了兩個按鈕:

總結帖子

自定義內容類型管理器匯總帖子

這個允許您根據您選擇的標準動態列出帖子。 您可以創建設置以在您的頁面和帖子中發布類型和分類。

自定義字段

自定義內容類型管理器自定義字段

有了這個,您可以從列表中選擇短代碼,它們將被粘貼到您的內容中。

有很多選項可用於創建自定義帖子類型。 您可以導入和導出內容定義,以便在其他站點上重複使用它們。 它易於使用並具有許多出色的功能。

WCK – 自定義字段和自定義帖子類型創建器

WCK - 自定義字段和自定義帖子類型創建器

這個有一個 WordPress 創建工具包,其中包含三個工具,可幫助您為您的帖子、頁面、自定義帖子類型創建和維護自定義帖子類型、自定義分類法以及自定義字段和元框。 您可以使用內置 UI 創建自己的自定義帖子類型。

  • WCK Custom Fields Creator – 讓您可以為帖子、頁面和自定義帖子類型創建自定義字段。 它將數據存儲在標準自定義字段中。
  • WCK 自定義帖子類型創建器– 允許您使用用於 register_post_type() 函數的 UI 創建自定義帖子類型。
  • WCK Taxonomy Creator – 讓您創建和編輯自定義分類。 它有一個用於 register_taxonomy() 函數的 UI。

Post Type Creator 易於使用。 您只需給它一個名稱、標籤、描述,選擇它是分層的還是有檔案的,然後選擇它支持的字段類型。 您還可以瀏覽標籤、菜單定位、功能等的高級選項。

添加自定義帖子類型後,您只需從儀表板菜單中該帖子類型的鏈接中單擊“添加新”,即可為該類型創建新帖子。 帖子類型將具有您在創建時選擇的格式和設置。 每次構建新的時,您都必須從頭開始創建。

有一個快速啟動指南可以幫助您完成它。 雖然設置非常直觀,並且每個字段都有示例,因此您可能不太需要該指南。

還有一個專業版,增加了許多新功能。 Hobbyist 在 1 個站點上使用是 49 美元。 它包括選項頁面創建器和額外的自定義字段類型,其中包括:

  • 所見即所得編輯器
  • 上傳字段
  • 日期
  • 用戶
  • 彩管選擇
  • 國家
  • 文本輸入
  • 文本區
  • 下拉選擇
  • 複選框
  • 單選按鈕

它還有 1 年的更新和支持。 Pro 是 139 美元,用於無限站點並添加 Swift 模板和前端託管。

類型

類型

Types 是一個插件,可以輕鬆定義您自己的自定義帖子類型、自定義字段和自定義分類。 有趣的是您可以在不同的帖子類型之間建立聯繫。 他們展示的例子是事件和藝術家。 您可以使用父/子關係將兩者連接在一起。 它甚至可以讓您在父頁面上編輯子數據。

類型 2

這個具有您在創建和管理自定義帖子類型時可能需要的大部分功能。 所有字段都詳細說明瞭如何使用它們。 您可以創建帖子名稱和描述、標籤、選擇要顯示的部分(標題、編輯、評論、引用等)、選項(重寫、頁面、提要等),以及父子之間的帖子關係。 您可以將設置導出到其他網站。

它將帖子類型添加到儀表板菜單中,因此您可以像選擇頁面或帖子一樣選擇它。 我沒有看到復制自定義帖子類型的方法,因此您必須從頭開始創建。

它還有一些其他有趣的功能,包括調整圖像大小和裁剪圖像的能力以及高級圖像緩存,以便您的圖像盡快加載和顯示。 您還可以將 API 集成到您的 PHP 中,以顯示具有其本機數據類型的字段。

它易於使用,並包含幫助您入門的指南。 該指南的有趣之處在於您可以從列表中選擇您正在構建的站點類型,然後它會向您顯示該類型站點的信息。 網站包括宣傳冊、目錄、電子商務、博客等。

最後的想法

自定義帖子類型是使您的內容脫穎而出的好方法,並且可以使用代碼或簡單的插件輕鬆創建自己的帖子。 使用此處描述的方法之一,您可以立即創建自己的自定義帖子類型。

你呢? 您使用自定義帖子類型嗎? 您使用插件還是更喜歡編寫自己的代碼? 在下面的評論中告訴我們。