WordPress外掛開發入門基礎教學

在本基礎教學中,我們將瞭解如何開始外掛開發,帶您完成建立第一個外掛的過程。

外掛是WordPress如此多功能且使用者友好的平臺的重要原因。它們使任何使用者都可以通過單擊按鈕快速向其站點新增新程式碼和功能。但是,如果您不想滿足於現有外掛,而是自己製作外掛怎麼辦?

建立外掛並不是您可能擔心的複雜過程。只需一點時間和精力,幾乎任何使用者都可以從頭開始建立外掛。只要您瞭解外掛如何連線到WordPress的核心(我們將對此進行解釋),構建您自己的外掛就會是一個有趣且具有挑戰性的專案。

為什麼開發WordPress外掛

簡單來說,外掛是為您的WordPress網站新增新功能的軟體。他們“掛鉤”到 WordPress 平臺的核心,並以數千種不同的方式對其進行擴充套件。

WordPress外掛目錄

使用外掛可為您提供幾乎無限的自定義可能性。如果您想將某個功能新增到您的站點,您可以搜尋包含數千個選項的外掛目錄

如果您找不到可以滿足您需求的外掛,或者您覺得現有選項不太適合您的網站,您可能需要考慮建立自己的外掛。為此,您首先需要了解外掛如何與WordPress互動。

外掛如何工作:鉤子、動作和過濾器

開始外掛開發最困難的部分是學習所有相關術語。出於這個原因,我們現在將解釋一些最重要和最常用的術語。

您將遇到的最重要的概念之一是鉤子。掛鉤是連線點,您可以在其中將外掛附加到WordPress核心程式碼。基本上,鉤子決定了外掛將在站點上何時何地使用。

一個基本的例子是wp_loaded鉤子,它在整個WordPress站點載入時觸發。如果外掛具有僅在達到該狀態時才需要執行的功能,您可能希望將其連線到此鉤子。

鉤子有兩種變體——動作過濾器。兩者的基本區別可以歸納如下:

當然,還有更多。如果您想完全理解它們,我們建議您閱讀操作和過濾器的工作原理

建立外掛之前要考慮的事項

WordPress外掛開發手冊

WordPress提供建立外掛時要遵循的最佳實踐列表

在開始建立外掛之前,您需要檢視WordPress推薦的最佳實踐。遵守這些準則將幫助您為外掛打下堅實的基礎。它還將確保與其他外掛和主題的相容性,如果您想共享外掛,則更容易。

首先,您應該考慮如何命名外掛、變數和函式。這很重要,因為您希望避免建立與其他外掛使用的名稱相匹配的名稱。最好的策略是為您定義的每個變數和函式新增一個唯一的字首。

接下來,您需要確保您的外掛是安全的。這是一個很大但很重要的話題。我們建議您通讀外掛手冊以獲取有關如何確保程式碼安全的更多資訊。未正確保護的外掛在任何站點上都可能帶來巨大風險,因此請不要忽視這一方面。

您還需要考慮如何構建外掛。它應該包含多少個檔案,您想將其儲存在一個資料夾中還是將其分散到多個資料夾中?提前考慮這一點將為您提供一個可靠的框架來使用,並使其他開發人員更容易理解您的外掛是如何工作的。

最後,遵守WordPress的編碼標準很重要。這些是由 WordPress 社羣建立的,將幫助您避免常見的編碼錯誤。它們還將使您的程式碼易於其他 WordPress 使用者和開發人員理解。

如何建立WordPress外掛

到現在為止,您應該已經做好了將腳趾浸入外掛開發領域的準備。因此,事不宜遲,讓我們開始吧!這些步驟將引導您完成建立第一個外掛的過程。

Step 1:設定臨時站點

首先,如果您還沒有臨時站點,則需要建立一個臨時站點。臨時站點,也稱為開發環境,是不向公眾開放且僅用於開發目的的網站。

臨時站點使您能夠開發外掛並對其進行測試,而不會影響您的實時站點。您永遠不應該使用實時站點進行開發,因為您可能會破壞站點或使其易受攻擊。您的登臺環境可以是您自己機器上的本地 WordPress 安裝,也可以是私人 WordPress 站點。

我們已經編寫了有關搭建本地環境建立臨時站點的教學,因此我們不會在此處再次展開詳細介紹。

Step 2:新建外掛檔案

準備好臨時站點後,就可以開始工作了。您需要做的第一件事是建立您的外掛所在的資料夾。所有外掛都新增到同一位置,即名為/wp-content/plugins/ 的目錄

現在導航到此位置,然後建立一個新資料夾,為其指定一個與您的外掛匹配的名稱。例如,如果您的外掛將被稱為“我的第一個外掛”,則將資料夾命名為my-first-plugin是有意義的。

然後,您應該將一個新的PHP檔案新增到該資料夾​​中,並具有相同的名稱(例如:my-first-plugin.php)。您可以使用任何文字編輯軟體(例如TextEdit或記事本)來執行此操作。在檔案仍然開啟的情況下,輸入以下資訊:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
/**
* Plugin Name: My First Plugin
* Plugin URI: https://www.mywebsite.com/
* Description: The first plugin I have created.
* Version: 1.0
* Author: Your Name
* Author URI: http://yourwebsite.com/
**/
<?php /** * Plugin Name: My First Plugin * Plugin URI: https://www.mywebsite.com/ * Description: The first plugin I have created. * Version: 1.0 * Author: Your Name * Author URI: http://yourwebsite.com/ **/
<?php
/**
* Plugin Name: My First Plugin
* Plugin URI: https://www.mywebsite.com/
* Description: The first plugin I have created.
* Version: 1.0
* Author: Your Name
* Author URI: http://yourwebsite.com/
**/

正如您可能知道的那樣,這是WordPress將與您的外掛一起顯示的元資訊。用正確的詳細資訊替換佔位符並儲存檔案。

此時,您可以開啟站點的管理區域並單擊Plugins。您會注意到您的新外掛已新增到列表中。

WP外掛安裝列表

顯然,您尚未新增任何功能,因此該外掛實際上不會執行任何操作。但是,您仍然可以啟用它。

您還應該新增一個自述檔案到您的外掛。如果您打算與其他人共享檔案,您將需要它,因為它決定了目錄中外掛頁面的內容。您的檔案符合WordPress 標準也很重要。

和以前一樣,只要使用檔名readme.txt儲存它,就可以使用任何文字編輯器來執行此操作。您還可以使用外掛自述檔案生成器快速建立此檔案。當您使用任一方法建立自述檔案時,請將其儲存到您的外掛資料夾中。

Step 3:新增您的程式碼

是時候為您的外掛新增功能了;這就是你的創造力大放異彩的地方!除了您的想象力和編碼能力之外,此時您可以做的事情真的沒有限制。

現在,讓我們建立一個包含單個函式的簡單外掛。

我們的外掛將更改使用者在您的網站上嘗試登入失敗時顯示的預設錯誤訊息。預設情況下,此訊息會告訴使用者嘗試被拒絕的原因。

WP登入報錯資訊

您的外掛將包含一個用通用內容替換此訊息的函式。在您選擇的編輯器中開啟my-first-plugin.php檔案,並在標題資訊後新增以下程式碼

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function wb_no_wordpress_errors(){
return 'Something went wrong!';
}
add_filter( 'login_errors', 'wb_no_wordpress_erors' );
function wb_no_wordpress_errors(){ return 'Something went wrong!'; } add_filter( 'login_errors', 'wb_no_wordpress_erors' );
function wb_no_wordpress_errors(){
return 'Something went wrong!';
}
add_filter( 'login_errors', 'wb_no_wordpress_erors' );

這是一個非常簡單的例子,但讓我們分解它。

首先,我們定義了一個名為wb_no_wordpress_errors的新函式——帶有“wb”字首(對於WBOLT)以確保名稱是唯一的。這個函式只做一件事情,那就是返回一個指定的字串。該字串是我們想要顯示的內容,而不是錯誤訊息。我們已將其設定為“Something went wrong!” 但請隨意將其更改為您喜歡的任何內容。

之後,我們使用了一個連線到名為login_errors的鉤子的過濾器。當這個特定的鉤子觸發時——即,當發生登入錯誤時——過濾器將執行no_wordpress_errors函式。

貼上程式碼後,您可以儲存檔案,外掛就可以執行了。正如我們提到的,這只是一個基本的例子。隨意建立一些全新的東西,甚至擴充套件我們的功能。

Step 4:測試外掛

在向外掛新增一些程式碼後,您需要對其進行測試以確保其正常工作。這通常很容易做到,儘管測試方法將取決於您新增的功能。

讓我們繼續上面的例子。登出WordPress管理區域並訪問臨時站點的/wp-login/頁面。然後,嘗試使用一些故意不正確的憑據登入。如果您的外掛成功,您將看到您指定的訊息。

但是,如果您使用我們提供的程式碼並且沒有做任何改動,您會發現該外掛沒有工作。事實上,您很可能會看到根本沒有出現任何錯誤訊息。

外掛開發測試

這是因為我們實際上在程式碼中犯了一個故意錯誤,您必須在外掛工作之前更正這些錯誤(抱歉,但我們希望您也體驗測試外掛)。

返回到您的my-first-plugin.php檔案。您可能已經在這裡發現了錯誤。在最後一行中,最後一個函式名拼寫錯誤。您可以改用此版本的行來解決此問題:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
add_filter( 'login_errors', 'wb_no_wordpress_errors' );
add_filter( 'login_errors', 'wb_no_wordpress_errors' );
add_filter( 'login_errors', 'wb_no_wordpress_errors' );

您現在可以儲存檔案並重試。這一次,當您嘗試使用不正確的憑據登入時,您應該會看到自定義訊息。

外掛報錯資訊示例

現在,您確定您的外掛工作正常!

Step 5:分享外掛

此時,您的外掛已準備好在任何 WordPress 站點上安裝和啟用。最簡單的方法是將my-first-plugin資料夾壓縮為zip檔案。然後,您可以使用此zip檔案在您的實時站點上安裝外掛

您可能還希望在外部託管外掛,以便其他人下載、測試和使用它。最常見的主機是 WordPress 外掛目錄。如果你想在那裡新增你的外掛,你需要提交它。請記住,您的外掛必須遵守某些限制

另一種選擇是將您的外掛上傳到不同的主機上,例如GitHub。這需要您為外掛建立一個儲存庫,然後您可以上傳它。更多使用GitHub的資訊可以參考官方文件

小結

通過建立自己的外掛,您可以對自己的WordPress網站進行前所未有的控制。外掛可用於自定義您想要的任何特性或功能。如果您花時間學習基礎知識,那麼製作您的第一個外掛應該不會那麼困難——對於業餘愛好者和嶄露頭角的專業人士來說都是如此。

雖然功夫不負有心人,但還是要說的是,無論是開發主題還是外掛,你都需要熟練地掌握後端和前端開發知識。

評論留言