自 2.9 版本起,wordpress 引入了使用自定義帖子類型的功能。現在,在 3.0 版本中,可以選擇為自定義帖子類型創建面板,從而使事情變得更進一步。在本教程中,我們將向您展示如何將站點中的自定義帖子類型實現到 wordpress 站點中。
創建自定義帖子類型 – 使用插件
從版本 3.0 開始,wordpress 沒有任何內置 ui(用戶界面)來創建自定義帖子類型。我們只能使用兩個選項來創建自定義帖子類型:插件或將它們硬編碼到主題的functions.php文件中。首先,讓我們看看如何使用插件來創建自定義帖子類型。
自定義帖子類型 UI
自定義帖子類型 UI是由WebDevStudios的 Brad Williams 開發的插件,它允許您輕松創建自定義帖子類型和分類法。該插件最酷的功能之一是它生成一個代碼來創建自定義帖子類型,因此您可以將其粘貼到主題的functions.php文件中。該插件的怪癖之一是無法在所有 post_types 之間共享分類法。
從“自定義帖子類型 UI”面板中單擊“添加新內容”。
接下來,您將看到幾個需要填寫的選項。“帖子類型名稱”是 WordPress 用來查詢此類 post_type 的所有帖子的名稱。“標簽”將顯示在儀表板的側邊欄上,就像常規的“發布”菜單一樣。如果展開“查看高級選項”,您將看到更多可以配置的選項。大多數都是不言自明的,例如“公共”和“顯示 UI”。第一個設置為 true 時允許在側邊欄上顯示自定義帖子類型菜單,另一個(顯示 ui)設置為 true 時生成菜單面板。
“重寫”允許自定義帖子類型使用SEO 友好的 WordPress URL(永久鏈接)。“自定義重寫 Slug”可以設置為您喜歡的任何內容。WordPress 將使用此 slug 來生成永久鏈接。因此,如果我們有example.com帶有“電影”的自定義重寫段,您的自定義帖子類型永久鏈接將類似于example.com/movies
WordPress的“Query Var”功能允許您查詢自定義帖子類型的帖子。因此,如果我們使用前面給出的示例,要訪問標題為My First Movie Post 的帖子(寫在Movies?post_type 下),我們可以輸入example.com/?movies=my-first-movie-post。所以查詢變量看起來像這樣:?posttypename
最后,您可以選擇自定義帖子類型支持的不同功能,例如縮略圖/特色圖像和摘錄。
創建自定義帖子類型 – 使用 Functions.php 文件
如果您更喜歡在沒有插件的情況下使用自定義帖子類型,則只需將以下代碼添加到主題的functions.php 文件中:
// Creates Movies post typeregister_post_type('movies', array('label'=> 'Movies','public'=> true,'show_ui'=> true,'capability_type'=> 'post','hierarchical'=> false,'rewrite'=> array('slug'=> 'movies'),'query_var'=> true,'supports'=> array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','author','page-attributes',)) );
由
在 WordPress 中一鍵使用
讓我們剖析一下代碼。
register_post_type( $post_type, $args ):此函數接受兩個參數,$post_type 或帖子類型的名稱,以及 $args,參數數組。
標簽:為顯示在管理面板側邊欄中的帖子類型指定的復數名稱。
公眾:真/假。允許管理 UI 填充此類帖子。
show_ui:真/假。顯示或隱藏管理此帖子類型的默認 UI。
ability_type:默認值:post 用于檢查讀取、編輯和刪除功能的帖子類型。
分層:帖子類型是否分層。
重寫:真/假。默認值: true 如果輸入 slug 參數,則 slug 名稱將添加到帖子前面。
query_var:?true/false 將帖子類型名稱設置為查詢變量。
支持:默認:標題和作者 設置帖子類型允許的不同支持功能。
訪問WordPress Codex了解有關register_post_type()的更多信息。
顯示自定義帖子類型帖子
要顯示自定義帖子類型的帖子,請在循環中添加以下代碼。將“名稱”替換為您的帖子類型的名稱。注意:您不必在 index.php 文件中添加自定義帖子類型。您可以創建自定義 WordPress 頁面并在Loop中運行以下查詢。
$query= newWP_Query( 'post_type=name');
由
在 WordPress 中一鍵使用
要顯示多種帖子類型的帖子,請將上面的代碼更改為以下內容。使用您的自定義帖子類型名稱更改電影。
$query= newWP_Query( array( 'post_type'=> array( 'post', 'movies')) );
由
在 WordPress 中一鍵使用
上面的代碼將顯示常規帖子類型(帖子)和自定義帖子類型(電影)的所有帖子。