如何創建一個簡單的 WordPress 插件

[ad_1]

WordPress 是許多人的寵兒,這是理所當然的。 它非常易於使用、免費(或開源)、靈活,而且最好的部分是可擴展的。 多虧了插件,您可以擴展 WordPress 以添加您想要的幾乎任何功能。

如果您是完美的初學者,WordPress 插件就像您手機上的應用程序一樣。 您的手機運行良好,但您可以使用應用程序添加更多功能。 這同樣適用於 WordPress 內容管理系統 (CMS)。

WordPress 平台已經很強大,但您可以使用插件實現更多功能。 例如,WordPress 插件允許您添加額外的功能,例如電子商務、搜索引擎優化、垃圾郵件防護、高級表單、社交媒體、更好的安全性、實時聊天、可視化頁面構建等等。

那裡有數以千計的免費和高級 WordPress 插件。 這 官方 WordPress 插件庫 在撰寫本文時,僅此一項就有超過 59,000 個免費插件! 其他市場,例如 代碼峽谷,為您提供數以千計的優質 WordPress 插件。

也就是說,幾乎所有您需要添加到 WordPress 網站的功能都可能有一個插件。 不過,有時,您可能需要上述插件源中無法提供的東西。 在這種情況下,您可能需要從頭開始創建 WordPress 插件或修改(或分叉)現有插件。

在今天的帖子中,我們將向您展示如何編寫一個簡單的 WordPress 插件,如果您想創建一些簡單的東西或一頭扎進插件開發中,這很好。 有了這個序言,讓我們開始吧,因為有很多東西要講。

編寫一個簡單的 WordPress 插件:基礎知識

寫一個簡單的wordpress插件基礎

在我們進入有趣的部分之前,您應該知道一些基本的事情。 作為初學者,您可能會認為創建 WordPress 插件是一個難以破解的難題。 嗯,不是真的。 無論您是否擁有計算機科學學位,任何人都可以學習如何編寫插件。

同時,如果您打算將來編寫更多插件,一些 PHP 編碼知識將有很大幫助。 那是因為 WordPress 插件是用 PHP 編程語言編碼的。 有了這些知識,您將更好地了解如何 PHP 函數 工作,這使您的工作更輕鬆。 不過,這很容易。

此外,根據您需要的功能,您的插件可能只包含一個文件或多個文件,包括 CSS 樣式表、JavaScript 腳本和媒體文件。 最後,熟悉自己很重要 WordPress 編碼標準和最佳實踐 保持安全。

放輕鬆,因為今天我們不會冒險進入複雜的東西。 我將向您展示如何編寫一個簡單的插件,並分享一些工具和資源,讓您的工作變得輕而易舉。 你還興奮嗎? 我當然希望如此🙂

編寫 WordPress 插件需要什麼

在編寫 WordPress 插件之前,您需要做一些事情。 對於初學者,不要在您的實時站點上測試您的插件。 如果出現任何問題,您可能會破壞您的網站,這會在您修復問題時導致可怕的停機時間。

相反,在本地或您的伺服器上創建一個測試或登台站點。 方法如下:

或者,您可以使用諸如 飛輪本地 或者 開發者金斯塔.

除此之外,您將需要一個文本編輯器,例如 記事本++, 崇高文本, 或者 原子. 雖然這不是必需的,但您可以使用諸如 插件板 或者 插件樣板 加快開發速度(稍後會詳細介紹)。

現在有趣的部分,讓我們編寫一個簡單的 WordPress 插件。 對於本教程,我正在創建一個插件,該插件將為我正在構建的虛構餐廳網站添加自定義帖子類型。

對於外行來說, WordPress 支持多種帖子類型 包括頁面、帖子、附件、修訂和導航菜單。 對於我們的案例場景,我們將創建一個添加「Recipe」自定義帖子類型的簡單插件。 出於說明目的,我將我的插件稱為「熱門食譜」。

讓我們直接潛入。

如何編寫一個簡單的 WordPress 插件

每個 WordPress 插件都有一個主文件,您可以手動創建或使用 Plugin Boilerplate 或 Pluginplate 等工具創建該主文件。 為了節省時間,讓我們使用 Pluginplate(它更直觀,IMO)來生成主文件和一些您以後可能需要的額外文件和文件夾。 然而,目前我們只需要主文件。

創建主文件

前往 Pluginplate.com,然後單擊 Create Your Plugin 按鈕,如下所示。

pluginplate 用於自定義插件的 wordpress 插件生成器

接下來,填寫您的插件信息,如下所示。 在頁面底部,您會注意到允許您向插件添加額外功能的模塊部分。 另請注意,您可以通過單擊加號 (+) 來自定義每個模塊,如下所述。 滿意後,單擊 Generate Plugin 按鈕:

創建自定義插件

之後,單擊下載按鈕並將插件保存到您的計算機。

現在,我們擁有了我們需要的所有基本文件,包括主文件。 但是不要彈出氣泡,我們的插件不會做任何事情。 我們必須添加激活插件時將執行的代碼。 根據我們的示例,我的主文件是 hot-recipes.php,這是我們將在下一節中編輯的文件。

添加功能

要找到 hot-recipes.php 郵件文件,請提取您從 Pluginplate 下載的 ZIP 文件夾:

在文件夾中,您應該會看到您的主文件,在我們的例子中,它是 hot-recipes.php:

在插件文件夾中,您可以看到一堆其他文件,但我們目前不需要這些文件。 接下來,讓我們在主文件中添加一些函數。 在您最喜歡的文本編輯器(我使用的是 Notepad++)中打開主文件(hot-recipes.php)。

根據您在 Pluginplate 中填寫表格的方式,您將看到以下代碼或類似內容:

。 */ // 如果直接訪問則退出。 if (!defined(‘ABSPATH’)) 退出; // 插件名稱 define(‘HOTRECIPES_NAME’, ‘Hot Recipes’ ); // 插件版本定義(‘HOTRECIPES_VERSION’, ‘1.0.0’); // 插件根文件 define( ‘HOTRECIPES_PLUGIN_FILE’, __FILE__ ); // 插件庫定義(‘HOTRECIPES_PLUGIN_BASE’, plugin_basename(HOTRECIPES_PLUGIN_FILE)); // 插件文件夾路徑 define( ‘HOTRECIPES_PLUGIN_DIR’, plugin_dir_path( HOTRECIPES_PLUGIN_FILE ) ); // 插件文件夾 URL 定義(‘HOTRECIPES_PLUGIN_URL’, plugin_dir_url(HOTRECIPES_PLUGIN_FILE)); /** * 為核心功能載入主類 */ require_once HOTRECIPES_PLUGIN_DIR 。 ‘核心/class-hot-recipes.php’; /** * 載入我們主類的唯一實例 * 的主函數。 * * @author Freddy * @since 1.0.0 * @return object|Hot_Recipes */ function HOTRECIPES() { return Hot_Recipes::instance(); } 熱菜();

很好,一切看起來都很棒。 上面的代碼將告訴 WordPress 插件的名稱以及版本、作者、許可證和其他詳細信息。 您無需編輯任何內容。 讓我們進入下一步。

在上面的代碼下面,添加以下代碼:

/** * 註冊食譜帖子類型。 */ function hot_recipes_register_post_types() { // 為食譜帖子類型設置 UI 標籤。 $labels = array(‘name’ => _x(‘Recipes’, ‘Post Type General Name’, ‘hot-recipes’), ‘singular_name’ => _x(‘Recipe’, ‘Post Type Singular Name’, ‘hot -recipes’), ‘menu_name’ => __(‘Recipes’, ‘hot-recipes’), ‘parent_item_colon’ => __(‘Parent Recipe’, ‘hot-recipes’), ‘all_items’ => __(‘所有食譜’, ‘hot-recipes’ ), ‘view_item’ => __( ‘查看食譜’, ‘hot-recipes’ ), ‘add_new_item’ => __( ‘添加新食譜’, ‘hot-recipes’ ), ‘add_new’ => __(‘Add New’, ‘hot-recipes’), ‘edit_item’ => __(‘Edit Recipe’, ‘hot-recipes’), ‘update_item’ => __(‘Update Recipe’, ‘hot-recipes’ ), ‘search_items’ => __( ‘搜索食譜’, ‘hot-recipes’ ), ‘not_found’ => __( ‘Not Found’, ‘hot-recipes’ ), ‘not_found_in_trash’ => __( ‘未在垃圾箱中找到’, ‘熱門食譜’ ), ); // 為食譜帖子類型設置其他參數。 $args = array( ‘label’ => __( ‘recipes’, ‘hot-recipes’ ), ‘description’ => __( ‘Recipes.’, ‘hot-recipes’ ), ‘labels’ => $labels, ‘supports’ => array(‘title’, ‘editor’, ‘excerpt’, ‘author’, ‘thumbnail’, ‘comments’, ‘revisions’, ‘custom-fields’, ), ‘taxonomies’ => array( ), ‘hierarchical’ => false, ‘public’ => true, ‘show_ui’ => true, ‘show_in_menu’ => true, ‘show_in_nav_menus’ => true, ‘show_in_admin_bar’ => true, ‘menu_position’ => 5 , ‘can_export’ => true, ‘has_archive’ => true, ‘exclude_from_search’ => false, ‘publicly_queryable’ => true, ‘capability_type’ => ‘post’, ‘show_in_rest’ => true, ); // 註冊食譜帖子類型。 register_post_type(‘食譜’,$args); } add_action(‘init’, ‘hot_recipes_register_post_types’);

上面的代碼只是用一組選項註冊了我們的自定義帖子類型「食譜」。 它還添加了支持修訂、自定義欄位、摘錄、評論、特色圖像等功能。 這些是您在添加新食譜時將在帖子編輯器中看到的功能。

旁白:現在,作為初學者,我現在不會太擔心語法,因為它超出了今天帖子的範圍。 但是有了一些 PHP 知識,你就會明白上面代碼的每個部分,以及每個部分的作用。 此外,互聯網上有大量的資源和代碼可供學習和練習。

壓縮你的插件文件夾

保存所有更改。 將 hot-recipes 文件夾(這是您在其中找到我們剛剛編輯的 hot-recipes.php 主文件的文件夾)壓縮到 hot-recipes.zip 存檔中(在 Mac 上,只需右鍵單擊、壓縮文件即可PC 我相信它非常相似)。 只需確保您的文件夾另存為 .ZIP 擴展名,否則插件將無法安裝。

接下來,登錄到您的測試站點並導航到 Plugins > Add New,如下所示。

接下來,單擊 Upload Plugin 按鈕,從您的計算機中選擇您的插件 ZIP 文件夾,然後單擊 Install Now:

接下來,激活插件:

現在,如果您檢查您的 WordPress 管理菜單,您會注意到我們的新食譜帖子類型,並具有添加新食譜的能力:

恭喜您編寫了您的第一個簡單插件! 有了這個介紹,您可以更進一步,玩弄代碼,看看您能得到什麼。 此外,您可以研究其他插件的源代碼(所有 WordPress 插件都是開源的)以了解更多信息。

現在您只需要更多資源(查看 插件手冊) 和大量的練習,你很快就會像傳說中的那樣開始編碼。

編程和編寫 WordPress 插件一開始看起來很嚇人,尤其是作為初學者。 但是有了正確的工具和一些學習資源,您可以立即像老闆一樣開發插件。 只需要一些編碼和決心,你就成功了一半。

我希望本教程在理解插件方面為您指明了正確的方向。 這篇文章應該作為開發複雜的 WordPress 插件的墊腳石,可以做任何你想做的事情。 不要停在這裡,查看我上面推薦的資源,以增加您對 WordPress 插件開發的了解。

如果您發現本教程對您有幫助,或者您還有其他要添加的內容,我們很想知道。 請在下面的評論部分分享您的想法。 再見!

相關文章