目錄
鑰匙要點
>您也可以將任何dashicon用作CPT圖標。
有幾個可用的選項:
register_meta_box_cb
>將此參數設置為true將為您的自定義帖子類型啟用檔案。 例如,假設您的cpt是書籍,訪問http://yoursite.com/books將顯示屬於書籍自定義帖子類型的帖子列表。
can_export
query_var
> WordPress自定義帖子類型的常見問題
>使用WordPress自定義帖子類型的好處是什麼?除了標準帖子和頁面之外,它們允許您為網站創建特定的內容類型。這可以包括投資組合,推薦,產品等。自定義帖子類型還提供了一種更有條理,更有效的方法來管理您的內容。它們可以通過特定的功能和字段來自定義,從而更容易以一致的方式輸入和顯示內容。
我可以將自定義字段添加到我的自定義帖子類型嗎?
>在您的網站上顯示自定義帖子類型可以通過在主題中創建新的模板文件來完成。該文件應命名為單{post-type} .php,其中{post-type}是您的自定義帖子類型的名稱。然後,您可以使用標準的WordPress循環顯示您的自定義帖子類型的內容。
是的,有幾個可用的插件可以簡化流程創建自定義帖子類型。這些插件提供了一個用於創建和管理自定義帖子類型的用戶友好界面,而無需編碼。一些流行的選項包括自定義帖子類型UI,POD和工具集類型。
我可以使用層次結構創建自定義的帖子類型嗎?這可以通過在註冊自定義帖子類型時將“層次結構”參數設置為true來完成。分層自定義帖子類型可以具有父母和子女帖子,類似於頁面。
>如何自定義帖子類型自定義管理界面?
我可以在網站的搜索結果中包含自定義帖子類型嗎?
首頁 CMS教程 &#&按 WordPress自定義帖子類型的權威指南

WordPress自定義帖子類型的權威指南

Feb 15, 2025 pm 01:11 PM

WordPress自定義帖子類型的權威指南

鑰匙要點

    WordPress已演變為成熟的內容管理系統和開發平台,能夠通過插件,主題和WP REST API將帖子或結構化數據分組為各種類型。 WordPress中的自定義帖子類型(CPT)是創建並註冊到WordPress的新帖子類型。帖子類型的示例可能包括公司或商業網站的投資組合,推薦和產品。
  • >創建自定義帖子類型涉及使用register_post_type()函數註冊郵政類型,並使用一系列參數自定義它。這些參數可以控制諸如描述性名稱,公眾可見性,菜單位置,圖標,層次結構以及帖子類型的其他功能。
  • >有幾個可用的插件,例如自定義郵政類型UI,PODS框架和自定義Post類型製造商,可以簡化創建自定義郵政類型的過程,從而使其更加用戶友好,並消除了編碼的需求。 🎜>
  • >“ wordpress被稱為博客軟件”的日子已經一去不復返了。 通過插件和主題,組帖子或結構化數據擴展其功能的能力,以及WP REST API的到來,也將其進一步演變為完整的內容管理系統和開發平台。
  • 多年來,我已經成功地開發了許多自定義的Web應用程序,該應用程序大量利用自定義帖子類型。這些Web應用程序之一的一個示例是我的WordPress插件的主題市場,稱為ProfilePress。
  • 仔細查看上面鏈接的主題市場,您會發現它使用了下一個 /上空分頁鏈接的URL中明顯的自定義分頁系統。因此,您有可能構建一個內部的分頁系統,該系統將在查詢自定義帖子類型(CPT)中完美工作。
>

足夠說,讓我們來實現本教程的目的,即在WordPress中學習自定義帖子類型的複雜性。

>我希望解決我個人與CPT合作的許多障礙,以及您可以做的一些很酷的事情。

>

自定義帖子類型定義

post也是特定的帖子類型,但這種內容的單個項目通常稱為帖子。

在內部,所有帖子類型都存儲在wp_posts數據庫表中,但通過稱為post_type的列進行區分。

> POST類型是指在WordPress數據庫帖子表中保留的各種結構化數據。

>帖子類型的示例是帖子(一組博客帖子),頁面(一組頁),附件(一組上傳的媒體文件)和修訂版(一組郵政修訂版)在WordPress中。

武裝著郵政類型的定義,一種創建並註冊到WordPress的新帖子類型被稱為自定義郵政類型。

>如果您正在構建具有WordPress的公司或商業網站,則可以創建的帖子類型的示例是投資組合,推薦和產品。

現在我們已經了解了自定義帖子類型的概念,接下來就是學習如何創建它們。

創建自定義帖子類型

>創建自定義帖子類型非常容易。首先,將帖子類型註冊為register_post_type()函數,最後,在函數調用中wrap register_post_type()並將其連接到INIT ACTION,例如So:>

從上面的代碼中,您可以看到register_post_type()具有第二個函數參數,該函數接受自定義自定義帖子類型的各個方面所需的許多數組參數。 >
<span><span>function portfolio_cpt() {</span>
</span>
    <span>$args = array(
</span>        <span>'label'  => 'Portfolio',
</span>        <span>'public' => true,
</span>    );

    register_post_type( <span>'portfolio', $args );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
登入後複製
登入後複製
登入後複製
您現在應該看到portfolio自定義帖子類型出現在WordPress Admin儀表板中。 >

>值得注意的是,在調用register_post_type()時,第二個參數是可選的。也就是說,cpt也可以如下創建:

>

WordPress自定義帖子類型的權威指南如果以這種方式創建了CPT,它將不會顯示在Admin儀表板菜單中(儘管仍然可以通過Direct URL訪問訪問“ http://example.com/wp-admin/eedit.php?post_type = portfolio“)及其UI措辭(否則稱為標籤)和管理通知將與內置的郵政帖子類型相同。

>讓我們介紹一些數組參數,以自定義CPT及其各自的功能。 >
<span><span>function portfolio_cpt() {</span>
</span>
    register_post_type( <span>'portfolio' );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
登入後複製
登入後複製
登入後複製
標籤

>您的自定義帖子類型的複數描述名稱。例如,如果您要創建電影CPT,則應該是電影。

>它將默認為$ post_type的值,這是register_post_type()的第一個參數。

標籤

該帖子類型的標籤數組。每個字符串都是特定管理頁面中顯示的一些文本。

>如果您要創建供公眾使用的插件,請確保可以翻譯這些字符串。

  • 名稱:帖子類型的名稱的複數形式。
  • >
  • singular_name:帖子類型的名稱的單數形式。
  • >
  • add_new:添加新帖子的菜單項。
  • >
  • add_new_item:創建新帖子時顯示的標題。
  • edit_item:編輯帖子時顯示的標題。
  • > new_item:在管理標題中的“收藏夾”菜單中顯示。
  • view_item:在編輯後屏幕上與永久鏈接一起顯示。
  • search_items:編輯帖子屏幕上搜索框的按鈕文本。
  • not_found:在admin中未找到帖子時顯示的文本。
  • not_found_in_trash:垃圾中沒有帖子時要顯示的文本。
>可以在此處找到標籤及其描述的完整列表。

>

描述

>簡短的描述性摘要,即郵政類型是什麼,儘管我尚未在WordPress Admin中找到它的位置。

>公共

>根據其布爾值,除非明確定義,否則它將自動決定其他參數。如果您想對公開論點有更多的控制權,則可能會設置三個具體論點:>

show_ui:確定是否顯示給管理屏幕。

>
    publicly_queryable:確定是否可以從前端執行此帖子類型的查詢。
  • dubl_from_search:帖子是否應出現在搜索結果中。
  • >
  • 菜單_position
默認情況下,在管理員中的“註釋”菜單項之後,添加了一種新的帖子類型。但是您必須能夠將其移至選擇的合適位置。

>

例如,將菜單_ position值設置為70將在用戶下方添加您的菜單項。 >

菜單_icon

新的帖子類型將默認為“帖子”菜單圖標,但是如果您想要一個自定義圖標,請將此標籤設置為圖標或圖像文件的URL。

>您也可以將任何dashicon用作CPT圖標。

說您想使用下載dashicon,將此標籤設置為dashicon值,如下所示:

<span><span>function portfolio_cpt() {</span>
</span>
    <span>$args = array(
</span>        <span>'label'  => 'Portfolio',
</span>        <span>'public' => true,
</span>    );

    register_post_type( <span>'portfolio', $args );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
登入後複製
登入後複製
登入後複製

層次結構

這個論點使您可以決定是否製作CPT層次結構。默認值是錯誤的。設置為true以使您的CPT層次結構。

<span><span>function portfolio_cpt() {</span>
</span>
    register_post_type( <span>'portfolio' );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
登入後複製
登入後複製
登入後複製
支持

>支持參數允許您定義一系列元框和字段,這些元件和字段在編輯或創建新帖子時將出現在屏幕上。此默認為標題和編輯器。

將此參數設置為false將阻止默認(標題和編輯器)行為。 >

有幾個可用的選項:

  • >標題:創建帖子標題的文本輸入字段。
  • 編輯器:寫作內容的內容編輯器。
  • >
  • 作者:一個用於更改帖子作者的選擇框。
  • 縮略圖:特色圖像功能。
  • >摘錄:用於編寫自定義摘錄的文本題材。
  • >
  • 轉型:能夠打開反轉和pingbacks的能力。
  • >
  • 自定義場:自定義字段輸入字段。
  • >評論:打開/關閉評論。
  • >
  • 修訂:允許您的帖子進行修訂。
  • >
  • >後形式:添加郵政格式,請參閱“郵政格式”部分
  • >
  • > page-attributes:為頁面顯示的屬性框。這對於層次結構帖子類型很重要,因此您可以選擇父帖。
  • >

register_meta_box_cb

提供一個回調函數,在設置編輯表單的元框時將調用。回調函數獲取一個參數$ post,其中包含當前編輯帖子的WP_POST對象。 >

此功能對開發人員特別有用,可以使他們創建將顯示在CPT編輯屏幕中的自定義元框。

>

<span><span>function portfolio_cpt() {</span>
</span>
    <span>$args = array(
</span>        <span>'label'  => 'Portfolio',
</span>        <span>'public' => true,
</span>    );

    register_post_type( <span>'portfolio', $args );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
登入後複製
登入後複製
登入後複製
分類法

>將與此自定義帖子類型一起使用的一系列註冊分類法或post_tag。

has_archive
<span><span>function portfolio_cpt() {</span>
</span>
    register_post_type( <span>'portfolio' );
</span>}

add_action( <span>'init', 'portfolio_cpt' );</span>
登入後複製
登入後複製
登入後複製

>將此參數設置為true將為您的自定義帖子類型啟用檔案。 例如,假設您的cpt是書籍,訪問http://yoursite.com/books將顯示屬於書籍自定義帖子類型的帖子列表。

重寫

此參數允許您在查看單個帖子或存檔時定義自定義帖子類型的永久鏈接結構。

>默認值是正確的,並將$ post_type用作slug。要防止重寫,請設置為false。

>

讓我們來看看一些示例,以清楚起見。

>

說您創建了一個自定義帖子類型,但希望將URL slug從

>評論

更改為

>評估>,使用以下重寫參數將從http://示例更改URL 。 CPT存檔。 >每當您進行WordPress URL重寫時,請確保單擊“設置”中的“保存更改”按鈕>>永久鏈接以重新創建重寫規則。

>
<span>'menu_icon' => get_stylesheet_directory_uri() . '/images/portfolio-icon.png',</span>
登入後複製
基本上,slug定義了新的URL slug,而使用_front確定是否使用前基底座預付費永久鏈接結構。

>在_front上仍然不清楚嗎?讓我們看看一個例子。

>

說您有一個固定鏈接結構,帶有

博客

,如下圖所示。

>WordPress自定義帖子類型的權威指南

>如果with_front設置為false,則單個帖子和檔案庫的URL變為http://example.com/blog/assessment/harry-potter/ and http://example.com/blog/assessment/但是,如果將其設置為真,則單個帖子和檔案存檔的URL分別為http://example.com/assessment/harry-potter/和http://example.com/assessment/。

請注意後者中博客的遺漏?這就是區別。

can_export

>使用此參數來決定是否可以通過WordPress導出工具導出屬於您的自定義帖子類型的帖子。默認情況下,這將設置為true。

query_var

此參數允許您控制用於獲取此類型帖子的查詢變量。

如果設置為true,它將允許您通過example.com/?book=harry-potter請求書籍自定義帖子類型,其中harry-potter是書本或帖子的url slug。

如果設置為字符串而不是true(例如

出版),則可以: “ query_var”的警告>

> query_var在您的cpt註冊數組中未定義,它默認為$ post_type,除非將其設置為false。

>警告。每當query_var的值作為查詢字符串中添加到URL中時,它將導致404。 >

>讓我澄清一下。假設您的cpt query_var的價值是審核,並且一個帶有鍵審查的鍵集的查詢字符串已添加到您的WordPress網站的任何URL中,以以下任何形式:

>

http://example.com/?review=some-random-string

http://example.com/a-post-slug-here/?foo=bar&review = some-random-string

    這將導致404發生。
  • >我實際上以艱難的方式了解了這一點。在我遇到這個問題時,我在WordPress Core Trac中創建了一張票,以將其報告為錯誤。
  • >我花了數週的時間才終於在核心WordPress團隊的一些成員回答我的票之前弄清楚了。
加速使用插件的自定義郵政類型設置

>現在我們已經覆蓋了基礎,現在是時候指出WordPress插件存儲庫中的許多插件,使創建自定義帖子類型非常簡單。

>

>示例包括(但不限於):>

自定義帖子類型UI

pods Framework

自定義郵政類型製造商

    結論
  • 在本教程中,我們了解了哪些自定義帖子類型以及它們的創建方式。 >
  • 這實際上是WordPress自定義帖子類型的系列中的第一個。在我的下一個教程中,我們將學習如何自定義各種管理員通知,如何將自定義分類法註冊到帖子類型中,並在CPT屏幕上添加上下文幫助選項卡。
  • >
  • 在此之前,愉快的編碼!
  • >

    > WordPress自定義帖子類型的常見問題

    >使用WordPress自定義帖子類型的好處是什麼?除了標準帖子和頁面之外,它們允許您為網站創建特定的內容類型。這可以包括投資組合,推薦,產品等。自定義帖子類型還提供了一種更有條理,更有效的方法來管理您的內容。它們可以通過特定的功能和字段來自定義,從而更容易以一致的方式輸入和顯示內容。

    >

    >如何在WordPress中創建自定義帖子類型?輸入WordPress涉及在主題的函數.php文件中添加幾行代碼。您需要使用register_post_type()函數,該函數允許您指定自定義帖子類型的名稱,標籤和其他功能。請記住,通過訪問永久鏈接設置頁面創建新的自定義帖子類型之後,要刷新您的重寫規則。

    我可以將自定義字段添加到我的自定義帖子類型嗎?

    是的,您可以添加自定義字段對於您的自定義帖子類型。可以使用add_meta_box()函數完成此操作,該功能使您可以在郵政編輯屏幕中添加一個新的元框。然後,您可以使用此Meta框輸入並顯示您的自定義帖子類型的其他信息。

    >如何在網站上顯示自定義帖子類型?

    >在您的網站上顯示自定義帖子類型可以通過在主題中創建新的模板文件來完成。該文件應命名為單{post-type} .php,其中{post-type}是您的自定義帖子類型的名稱。然後,您可以使用標準的WordPress循環顯示您的自定義帖子類型的內容。

    我可以使用插件創建自定義帖子類型嗎?

    >

    是的,有幾個可用的插件可以簡化流程創建自定義帖子類型。這些插件提供了一個用於創建和管理自定義帖子類型的用戶友好界面,而無需編碼。一些流行的選項包括自定義帖子類型UI,POD和工具集類型。

    >如何在我的自定義帖子類型中添加分類法? register_taxonomy()函數。此功能使您可以創建新的分類法,指定其標籤,並將其與您的自定義帖子類型相關聯。然後,您可以使用此分類法來對您的自定義帖子類型的內容進行分類和過濾。

    我可以使用層次結構創建自定義的帖子類型嗎?這可以通過在註冊自定義帖子類型時將“層次結構”參數設置為true來完成。分層自定義帖子類型可以具有父母和子女帖子,類似於頁面。

    >

    >如何自定義帖子類型自定義管理界面?

    >在註冊自定義帖子類型時,可以使用“支持”參數自定義帖子類型自定義admin界面。該參數允許您指定帖子編輯屏幕中的哪些功能,例如標題,編輯器,縮略圖和自定義字段。

    我可以在網站的搜索結果中包含自定義帖子類型嗎?

    >

    是的,您可以在網站的搜索結果中包含自定義帖子類型。這可以通過在註冊自定義帖子類型時將“ dubl_from_search”參數設置為false來完成。您還可以使用插件或自定義代碼來進一步自定義網站的搜索功能。

    >

    >如何刪除WordPress中的自定義帖子類型?

以上是WordPress自定義帖子類型的權威指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何開始WordPress博客:初學者的分步指南 如何開始WordPress博客:初學者的分步指南 Apr 17, 2025 am 08:25 AM

博客是人們在網上表達觀點、意見和見解的理想平台。許多新手渴望建立自己的網站,卻因擔心技術障礙或成本問題而猶豫不決。然而,隨著平台不斷發展以滿足初學者的能力和需求,現在開始變得比以往任何時候都更容易。 本文將逐步指導您如何建立一個WordPress博客,從主題選擇到使用插件提升安全性和性能,助您輕鬆創建自己的網站。 選擇博客主題和方向 在購買域名或註冊主機之前,最好先確定您計劃涵蓋的主題。個人網站可以圍繞旅行、烹飪、產品評論、音樂或任何激發您興趣的愛好展開。專注於您真正感興趣的領域可以鼓勵持續寫作

wordpress文章列表怎麼調 wordpress文章列表怎麼調 Apr 20, 2025 am 10:48 AM

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

如何在父分類的存檔頁面上顯示子分類 如何在父分類的存檔頁面上顯示子分類 Apr 19, 2025 pm 11:54 PM

您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 Apr 19, 2025 pm 11:57 PM

最近,我們向您展示瞭如何通過允許用戶將自己喜歡的帖子保存在個性化庫中來為用戶創建個性化體驗。您可以通過在某些地方(即歡迎屏幕)使用他們的名字,將個性化結果提升到另一個水平。幸運的是,WordPress使獲取登錄用戶的信息變得非常容易。在本文中,我們將向您展示如何檢索與當前登錄用戶相關的信息。我們將利用get_currentuserinfo(); 功能。這可以在主題中的任何地方使用(頁眉、頁腳、側邊欄、頁面模板等)。為了使其工作,用戶必須登錄。因此我們需要使用

對於初學者來說,WordPress容易嗎? 對於初學者來說,WordPress容易嗎? Apr 03, 2025 am 12:02 AM

WordPress對初學者來說容易上手。 1.登錄後台後,用戶界面直觀,簡潔的儀表板提供所有必要功能鏈接。 2.基本操作包括創建和編輯內容,所見即所得的編輯器簡化了內容創建。 3.初學者可以通過插件和主題擴展網站功能,學習曲線存在但可以通過實踐掌握。

如何在 WordPress 中按帖子過期日期對帖子進行排序 如何在 WordPress 中按帖子過期日期對帖子進行排序 Apr 19, 2025 pm 11:48 PM

過去,我們分享過如何使用PostExpirator插件使WordPress中的帖子過期。好吧,在創建活動列表網站時,我們發現這個插件非常有用。我們可以輕鬆刪除過期的活動列表。其次,多虧了這個插件,按帖子過期日期對帖子進行排序也非常容易。在本文中,我們將向您展示如何在WordPress中按帖子過期日期對帖子進行排序。更新了代碼以反映插件中更改自定義字段名稱的更改。感謝Tajim在評論中讓我們知道。在我們的特定項目中,我們將事件作為自定義帖子類型。現在

如何在 WordPress 中顯示查詢數量和頁面加載時間 如何在 WordPress 中顯示查詢數量和頁面加載時間 Apr 19, 2025 pm 11:51 PM

我們的一位用戶詢問其他網站如何在頁腳中顯示查詢數量和頁面加載時間。您經常會在網站的頁腳中看到這一點,它可能會顯示類似以下內容:“1.248秒內64個查詢”。在本文中,我們將向您展示如何在WordPress中顯示查詢數量和頁面加載時間。只需將以下代碼粘貼到主題文件中您喜歡的任何位置(例如footer.php)。 queriesin

如何使用 IFTTT 自動化 WordPress 和社交媒體(及更多) 如何使用 IFTTT 自動化 WordPress 和社交媒體(及更多) Apr 18, 2025 am 11:27 AM

您是否正在尋找自動化 WordPress 網站和社交媒體帳戶的方法? 通過自動化,您將能夠在 Facebook、Twitter、LinkedIn、Instagram 等平台上自動分享您的 WordPress 博客文章或更新。 在本文中,我們將向您展示如何使用 IFTTT、Zapier 和 Uncanny Automator 輕鬆實現 WordPress 和社交媒體的自動化。 為什麼要自動化 WordPress 和社交媒體? 自動化您的WordPre

See all articles