新聞中心
在本基礎(chǔ)教程中,我們將了解如何開始插件開發(fā),帶您完成創(chuàng)建第一個(gè)插件的過程。

創(chuàng)新互聯(lián)長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為科爾沁左翼企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站建設(shè),科爾沁左翼網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
插件是wordpress如此多功能且用戶友好的平臺(tái)的重要原因。它們使任何用戶都可以通過單擊按鈕快速向其站點(diǎn)添加新代碼和功能。但是,如果您不想滿足于現(xiàn)有插件,而是自己制作插件怎么辦?
創(chuàng)建插件并不是您可能擔(dān)心的復(fù)雜過程。只需一點(diǎn)時(shí)間和精力,幾乎任何用戶都可以從頭開始創(chuàng)建插件。只要您了解插件如何連接到WordPress的核心(我們將對(duì)此進(jìn)行解釋),構(gòu)建您自己的插件就會(huì)是一個(gè)有趣且具有挑戰(zhàn)性的項(xiàng)目。
為什么開發(fā)WordPress插件
簡(jiǎn)單來(lái)說(shuō),插件是為您的WordPress網(wǎng)站添加新功能的軟件。他們“掛鉤”到 WordPress 平臺(tái)的核心,并以數(shù)千種不同的方式對(duì)其進(jìn)行擴(kuò)展。
使用插件可為您提供幾乎無(wú)限的自定義可能性。如果您想將某個(gè)功能添加到您的站點(diǎn),您可以搜索包含數(shù)千個(gè)選項(xiàng)的插件目錄。
如果您找不到可以滿足您需求的插件,或者您覺得現(xiàn)有選項(xiàng)不太適合您的網(wǎng)站,您可能需要考慮創(chuàng)建自己的插件。為此,您首先需要了解插件如何與WordPress交互。
插件如何工作:鉤子、動(dòng)作和過濾器
開始插件開發(fā)最困難的部分是學(xué)習(xí)所有相關(guān)術(shù)語(yǔ)。出于這個(gè)原因,我們現(xiàn)在將解釋一些最重要和最常用的術(shù)語(yǔ)。
您將遇到的最重要的概念之一是鉤子。掛鉤是連接點(diǎn),您可以在其中將插件附加到WordPress核心代碼?;旧?,鉤子決定了插件將在站點(diǎn)上何時(shí)何地使用。
一個(gè)基本的例子是wp_loaded鉤子,它在整個(gè)WordPress站點(diǎn)加載時(shí)觸發(fā)。如果插件具有僅在達(dá)到該狀態(tài)時(shí)才需要運(yùn)行的功能,您可能希望將其連接到此鉤子。
鉤子有兩種變體——動(dòng)作和過濾器。兩者的基本區(qū)別可以歸納如下:
- 操作添加新功能。
- 過濾器修改現(xiàn)有功能。
當(dāng)然,還有更多。如果您想完全理解它們,我們建議您閱讀操作和過濾器的工作原理。
創(chuàng)建插件之前要考慮的事項(xiàng)
WordPress提供了創(chuàng)建插件時(shí)要遵循的最佳實(shí)踐列表。
在開始創(chuàng)建插件之前,您需要查看WordPress推薦的最佳實(shí)踐。遵守這些準(zhǔn)則將幫助您為插件打下堅(jiān)實(shí)的基礎(chǔ)。它還將確保與其他插件和主題的兼容性,如果您想共享插件,則更容易。
首先,您應(yīng)該考慮如何命名插件、變量和函數(shù)。這很重要,因?yàn)槟M苊鈩?chuàng)建與其他插件使用的名稱相匹配的名稱。最好的策略是為您定義的每個(gè)變量和函數(shù)添加一個(gè)唯一的前綴。
接下來(lái),您需要確保您的插件是安全的。這是一個(gè)很大但很重要的話題。我們建議您通讀插件手冊(cè)以獲取有關(guān)如何確保代碼安全的更多信息。未正確保護(hù)的插件在任何站點(diǎn)上都可能帶來(lái)巨大風(fēng)險(xiǎn),因此請(qǐng)不要忽視這一方面。
您還需要考慮如何構(gòu)建插件。它應(yīng)該包含多少個(gè)文件,您想將其保存在一個(gè)文件夾中還是將其分散到多個(gè)文件夾中?提前考慮這一點(diǎn)將為您提供一個(gè)可靠的框架來(lái)使用,并使其他開發(fā)人員更容易理解您的插件是如何工作的。
最后,遵守WordPress的編碼標(biāo)準(zhǔn)很重要。這些是由 WordPress 社區(qū)創(chuàng)建的,將幫助您避免常見的編碼錯(cuò)誤。它們還將使您的代碼易于其他 WordPress 用戶和開發(fā)人員理解。
如何創(chuàng)建WordPress插件
到現(xiàn)在為止,您應(yīng)該已經(jīng)做好了將腳趾浸入插件開發(fā)領(lǐng)域的準(zhǔn)備。因此,事不宜遲,讓我們開始吧!這些步驟將引導(dǎo)您完成創(chuàng)建第一個(gè)插件的過程。
Step 1:設(shè)置臨時(shí)站點(diǎn)
首先,如果您還沒有臨時(shí)站點(diǎn),則需要?jiǎng)?chuàng)建一個(gè)臨時(shí)站點(diǎn)。臨時(shí)站點(diǎn),也稱為開發(fā)環(huán)境,是不向公眾開放且僅用于開發(fā)目的的網(wǎng)站。
臨時(shí)站點(diǎn)使您能夠開發(fā)插件并對(duì)其進(jìn)行測(cè)試,而不會(huì)影響您的實(shí)時(shí)站點(diǎn)。您永遠(yuǎn)不應(yīng)該使用實(shí)時(shí)站點(diǎn)進(jìn)行開發(fā),因?yàn)槟赡軙?huì)破壞站點(diǎn)或使其易受攻擊。您的登臺(tái)環(huán)境可以是您自己機(jī)器上的本地 WordPress 安裝,也可以是私人 WordPress 站點(diǎn)。
我們已經(jīng)編寫了有關(guān)搭建本地環(huán)境創(chuàng)建臨時(shí)站點(diǎn)的教程,因此我們不會(huì)在此處再次展開詳細(xì)介紹。
Step 2:新建插件文件
準(zhǔn)備好臨時(shí)站點(diǎn)后,就可以開始工作了。您需要做的第一件事是創(chuàng)建您的插件所在的文件夾。所有插件都添加到同一位置,即名為/wp-content/plugins/ 的目錄。
現(xiàn)在導(dǎo)航到此位置,然后創(chuàng)建一個(gè)新文件夾,為其指定一個(gè)與您的插件匹配的名稱。例如,如果您的插件將被稱為“我的第一個(gè)插件”,則將文件夾命名為my-first-plugin是有意義的。
然后,您應(yīng)該將一個(gè)新的PHP文件添加到該文件夾??中,并具有相同的名稱(例如:my-first-plugin.php)。您可以使用任何文本編輯軟件(例如TextEdit或記事本)來(lái)執(zhí)行此操作。在文件仍然打開的情況下,輸入以下信息:
正如您可能知道的那樣,這是WordPress將與您的插件一起顯示的元信息。用正確的詳細(xì)信息替換占位符并保存文件。
此時(shí),您可以打開站點(diǎn)的管理區(qū)域并單擊Plugins。您會(huì)注意到您的新插件已添加到列表中。
顯然,您尚未添加任何功能,因此該插件實(shí)際上不會(huì)執(zhí)行任何操作。但是,您仍然可以啟用它。
您還應(yīng)該添加一個(gè)自述文件到您的插件。如果您打算與其他人共享文件,您將需要它,因?yàn)樗鼪Q定了目錄中插件頁(yè)面的內(nèi)容。您的文件符合WordPress 標(biāo)準(zhǔn)也很重要。
和以前一樣,只要使用文件名readme.txt保存它,就可以使用任何文本編輯器來(lái)執(zhí)行此操作。您還可以使用插件自述文件生成器快速創(chuàng)建此文件。當(dāng)您使用任一方法創(chuàng)建自述文件時(shí),請(qǐng)將其保存到您的插件文件夾中。
Step 3:添加您的代碼
是時(shí)候?yàn)槟牟寮砑庸δ芰耍贿@就是你的創(chuàng)造力大放異彩的地方!除了您的想象力和編碼能力之外,此時(shí)您可以做的事情真的沒有限制。
現(xiàn)在,讓我們創(chuàng)建一個(gè)包含單個(gè)函數(shù)的簡(jiǎn)單插件。
我們的插件將更改用戶在您的網(wǎng)站上嘗試登錄失敗時(shí)顯示的默認(rèn)錯(cuò)誤消息。默認(rèn)情況下,此消息會(huì)告訴用戶嘗試被拒絕的原因。
您的插件將包含一個(gè)用通用內(nèi)容替換此消息的函數(shù)。在您選擇的編輯器中打開my-first-plugin.php文件,并在標(biāo)題信息后添加以下代碼:
function wb_no_wordpress_errors(){ return 'Something went wrong!'; } add_filter( 'login_errors', 'wb_no_wordpress_erors' );這是一個(gè)非常簡(jiǎn)單的例子,但讓我們分解它。
首先,我們定義了一個(gè)名為wb_no_wordpress_errors的新函數(shù)——帶有“wb”前綴(對(duì)于WBOLT)以確保名稱是唯一的。這個(gè)函數(shù)只做一件事情,那就是返回一個(gè)指定的字符串。該字符串是我們想要顯示的內(nèi)容,而不是錯(cuò)誤消息。我們已將其設(shè)置為“Something went wrong!” 但請(qǐng)隨意將其更改為您喜歡的任何內(nèi)容。
之后,我們使用了一個(gè)連接到名為login_errors的鉤子的過濾器。當(dāng)這個(gè)特定的鉤子觸發(fā)時(shí)——即,當(dāng)發(fā)生登錄錯(cuò)誤時(shí)——過濾器將運(yùn)行no_wordpress_errors函數(shù)。
粘貼代碼后,您可以保存文件,插件就可以運(yùn)行了。正如我們提到的,這只是一個(gè)基本的例子。隨意創(chuàng)建一些全新的東西,甚至擴(kuò)展我們的功能。
Step 4:測(cè)試插件
在向插件添加一些代碼后,您需要對(duì)其進(jìn)行測(cè)試以確保其正常工作。這通常很容易做到,盡管測(cè)試方法將取決于您添加的功能。
讓我們繼續(xù)上面的例子。注銷WordPress管理區(qū)域并訪問臨時(shí)站點(diǎn)的/wp-login/頁(yè)面。然后,嘗試使用一些故意不正確的憑據(jù)登錄。如果您的插件成功,您將看到您指定的消息。
但是,如果您使用我們提供的代碼并且沒有做任何改動(dòng),您會(huì)發(fā)現(xiàn)該插件沒有工作。事實(shí)上,您很可能會(huì)看到根本沒有出現(xiàn)任何錯(cuò)誤消息。
這是因?yàn)槲覀儗?shí)際上在代碼中犯了一個(gè)故意錯(cuò)誤,您必須在插件工作之前更正這些錯(cuò)誤(抱歉,但我們希望您也體驗(yàn)測(cè)試插件)。
返回到您的my-first-plugin.php文件。您可能已經(jīng)在這里發(fā)現(xiàn)了錯(cuò)誤。在最后一行中,最后一個(gè)函數(shù)名拼寫錯(cuò)誤。您可以改用此版本的行來(lái)解決此問題:
add_filter( 'login_errors', 'wb_no_wordpress_errors' );您現(xiàn)在可以保存文件并重試。這一次,當(dāng)您嘗試使用不正確的憑據(jù)登錄時(shí),您應(yīng)該會(huì)看到自定義消息。
現(xiàn)在,您確定您的插件工作正常!
Step 5:分享插件
此時(shí),您的插件已準(zhǔn)備好在任何 WordPress 站點(diǎn)上安裝和激活。最簡(jiǎn)單的方法是將my-first-plugin文件夾壓縮為zip文件。然后,您可以使用此zip文件在您的實(shí)時(shí)站點(diǎn)上安裝插件。
您可能還希望在外部托管插件,以便其他人下載、測(cè)試和使用它。最常見的主機(jī)是 WordPress 插件目錄。如果你想在那里添加你的插件,你需要提交它。請(qǐng)記住,您的插件必須遵守某些限制。
另一種選擇是將您的插件上傳到不同的主機(jī)上,例如GitHub。這需要您為插件創(chuàng)建一個(gè)存儲(chǔ)庫(kù),然后您可以上傳它。更多使用GitHub的信息可以參考官方文檔。
小結(jié)
通過創(chuàng)建自己的插件,您可以對(duì)自己的WordPress網(wǎng)站進(jìn)行前所未有的控制。插件可用于自定義您想要的任何特性或功能。如果您花時(shí)間學(xué)習(xí)基礎(chǔ)知識(shí),那么制作您的第一個(gè)插件應(yīng)該不會(huì)那么困難——對(duì)于業(yè)余愛好者和嶄露頭角的專業(yè)人士來(lái)說(shuō)都是如此。
雖然功夫不負(fù)有心人,但還是要說(shuō)的是,無(wú)論是開發(fā)主題還是插件,你都需要熟練地掌握后端和前端開發(fā)知識(shí)。
分享標(biāo)題:WordPress插件開發(fā)入門基礎(chǔ)教程
路徑分享:http://m.fisionsoft.com.cn/article/djgejsd.html


咨詢
建站咨詢
