使用您自己的插件創建 WordPress 自定義帖子類型!

已發表: 2021-01-18

WordPress 自定義帖子類型非常有用。 如果您不確定這些是什麼,請查看我們的文章“使用插件創建 WordPress 自定義帖子類型”以獲取更多詳細信息。 在一系列文章中,我們介紹了創建自定義帖子類型的各種方法。 這包括使用插件(根據剛才提到的文章)一直到從頭開始編寫自定義帖子類型。

與與 WordPress 相關的大多數事情一樣,如果您具有在功能中編寫代碼的技術能力,那麼您幾乎可以實現任何目標,而不受旨在幫助您實現所選目標的插件的限制。 但是,也許最終的控制和可用性來自使用您自己創建的自定義插件。 在本文中,我們將通過查看如何構建您自己的自定義帖子類型插件來結束我們關於創建自定義帖子類型的迷你係列。

所以,啟動一個文本編輯器,讓我們開始吧!

創建您的自定義帖子類型插件

如果您從未構建過自己的 WordPress 插件,那麼在繼續本教程之前,可能值得查看我們的文章“如何構建您的第一個 WordPress 插件”。 分步指南”。

插件是擴展 WordPress 網站功能的理想方式。 既可以使用“現成”插件,也可以創建自己的插件以擴展 WordPress 網站的功能,這是 WordPress 如此受歡迎的 CMS 的眾多原因之一。 通過創建您自己的插件(或使用第三方插件)添加功能通常可以切換主題並對我們的網站進行其他重大更新,而不會丟失相關插件的功能。

正因為如此,以將功能與網站設計分開的方式設計插件是有意義的——換句話說,如果插件旨在提供核心功能,如果它不包含特定於主題的功能,則效果最佳。 然後,這為您提供了最大的靈活性,因為理論上該插件可以部署在任何 WordPress 網站上。

考慮到這一點,我們將為自定義帖子類型創建的插件是一個簡單但完整的插件,它將註冊我們的“食譜”自定義帖子類型,而最終用戶無需將此功能直接編碼到他們的網站中。

第一步:註冊插件

第一步是創建一個插件,我們將其命名為“我的自定義帖子類型”並將其註冊到我們的網站。

為此,請在/wp-content/plugins文件夾下創建插件文件夾並將其命名為my-custom-post-type 。 然後,在這個文件夾中創建它的主文件,它將保存我們的插件功能和註冊碼。 我們建議您為文件命名為my-custom-post-type.php 。 因此,在您的 FTP 客戶端中,它應該如下所示。

自定義帖子類型插件

您必須在此處編寫的最低強制代碼如下:

 <?php /** Plugin Name: My CPT plugin **/

這個 PHP 註釋告訴 WordPress 插件的存在和插件的名稱。 如果您刷新它,“我的 CPT 插件”字符串是您現在將在管理區域插件列表中看到的名稱。

為自定義帖子類型插件提供功能

現在我們已經命名並註冊了我們需要破解的插件並為其添加一些功能。

您需要的大部分代碼以前寫在我們的文章“手動創建 WordPress 自定義帖子類型”中。 您可以檢查一下以了解此代碼的工作原理,或者直接從下面的代碼中復制。

注意:如果您之前按照我們的教程進行操作,您將在functions.php文件中添加代碼。 我們不想在functions.php文件和我們的插件中都包含我們的代碼,所以最好在繼續之前從我們的functions.php文件中刪除它。

我們將 functions.php 文件中的相同代碼粘貼到我們的插件主 php 文件中。 您的my-custom-post-type.php文件現在應該如下所示:

 <?php /** Plugin Name: My CPT plugin **/ //// Create recipes CPT function recipes_post_type() { register_post_type( 'recipes', array( 'labels' => array( 'name' => __( 'Recipes' ), 'singular_name' => __( 'Recipe' ) ), 'public' => true, 'show_in_rest' => true, 'supports' => array('title', 'editor', 'thumbnail'), 'has_archive' => true, 'rewrite' => array( 'slug' => 'my-home-recipes' ), 'menu_position' => 5, 'menu_icon' => 'dashicons-food', // 'taxonomies' => array('cuisines', 'post_tag') // this is IMPORTANT ) ); } add_action( 'init', 'recipes_post_type' ); //// Add cuisines taxonomy function create_recipes_taxonomy() { register_taxonomy('cuisines','recipes',array( 'hierarchical' => false, 'labels' => array( 'name' => _x( 'Cuisines', 'taxonomy general name' ), 'singular_name' => _x( 'Cuisine', 'taxonomy singular name' ), 'menu_name' => __( 'Cuisines' ), 'all_items' => __( 'All Cuisines' ), 'edit_item' => __( 'Edit Cuisine' ), 'update_item' => __( 'Update Cuisine' ), 'add_new_item' => __( 'Add Cuisine' ), 'new_item_name' => __( 'New Cuisine' ), ), 'show_ui' => true, 'show_in_rest' => true, 'show_admin_column' => true, )); register_taxonomy('ingredients','recipes',array( 'hierarchical' => false, 'labels' => array( 'name' => _x( 'Ingredients', 'taxonomy general name' ), 'singular_name' => _x( 'Ingredient', 'taxonomy singular name' ), 'menu_name' => __( 'Ingredients' ), 'all_items' => __( 'All Ingredients' ), 'edit_item' => __( 'Edit Ingredient' ), 'update_item' => __( 'Update Ingredient' ), 'add_new_item' => __( 'Add Ingredient' ), 'new_item_name' => __( 'New Ingredient' ), ), 'show_ui' => true, 'show_in_rest' => true, 'show_admin_column' => true, )); } add_action( 'init', 'create_recipes_taxonomy', 0 );

現在,如果您在管理區域中激活您的插件,您應該會在主菜單中看到“食譜”!

因此,我們現在有一個“菜譜”自定義帖子類型和兩個菜譜帖子“菜譜 1”和“菜譜 2”,每個帖子都分配了一個“菜譜”分類。 就是這樣! 現在,您不必每次想要更新自定義帖子類型時都對您的 functions.php 文件進行代碼更改,您可以通過您的插件 php 文件來執行此操作,這要好得多。 您還可以從管理員直接控制它,並且可以快速輕鬆地禁用該插件。 此外,這可以保存為插件 zip 文件並在其他 WordPress 網站上使用。

改用庫插件

如果您想進一步加快創建您自己的自定義帖子的過程,您可以嘗試使用我的自定義函數插件。

此插件允許您將 PHP 函數代碼插入您的網站,而無需通過 SFTP 連接直接編輯文件。

安裝並激活插件後,一個新的菜單項將添加到您的管理菜單中。 只需轉到“設置 > PHP 插入器”並在提供的代碼塊中為您的自定義帖子類型添加自定義代碼。

插入代碼後,打開開關並保存更改。 您的 PHP 代碼將自動添加到您的網站,而不會影響其性能或更改您的主題文件。

在同一個管理屏幕中,您還可以找到一個用法選項卡和一個常見問題解答選項卡,它們可以真正幫助您了解如何使用該插件(我們在測試時充分利用了它!)。

延伸閱讀

我們現在已經結束了關於自定義帖子類型的迷你係列。 如果您想查看這些內容,那麼之前文章的鏈接如下:

  • 使用插件創建 WordPress 自定義帖子類型
  • 手動創建 WordPress 自定義帖子類型
  • WordPress 自定義帖子類型——更進一步

結論

我們希望您喜歡這個系列文章,現在了解如何處理自定義帖子類型。 自定義帖子類型是令人驚奇的事情,可以徹底改變您構建 WordPress 網站的方式,使它們成為另一個出色的 WordPress 功能!