使用WordPress插件樣板加快開發
WordPress 插件開發入門指南:使用 WordPress 插件樣板
WordPress 插件開發的學習曲線較低,並沒有構建插件的唯一方法。插件可以像 Hello Dolly 一樣簡單,只是一個單文件;也可以根據各種需求和功能構建得非常複雜。 WordPress 插件樣板旨在提供一個標準化、高質量的基礎,幫助您構建下一個優秀的插件。在本系列的第一部分中,我們將深入探討該樣板,包括文件和文件夾的結構以及樣板的代碼組織。
關鍵要點
- WordPress 插件樣板為構建 WordPress 插件提供了標準化、高質量的基礎,學習曲線低,並且可以靈活地用於簡單或複雜的插件結構。
- 樣板的 3.0.0 版本在代碼組織和插件內部關注點的分離方面帶來了重大改進,可以通過克隆 git 倉庫或從 GitHub 倉庫下載 zip 文件輕鬆獲取。
- 樣板遵循推薦的 WordPress 編碼和文檔標準,提供有用的入門指南和工具推薦,並包含五個用於各種功能的默認類,使其成為插件開發人員的絕佳起點。
背景
WordPress 插件樣板最初是由 Tom McFarlin 發起的,旨在提供一種標準化的面向對象方法來構建 WordPress 插件。由於樣板構建在插件 API 之上,並遵循 WordPress 推薦的編碼標準和文檔標準,因此您可以確信自己處於安全可靠的環境中。樣板最近更新到 3.0.0 版本,在代碼組織以及插件內部關注點的進一步分離方面帶來了重大改進。如果您已經熟悉使用舊版樣板 (v2.6.2) 開發插件,則可能需要一些時間來重新學習最新版本中的新增內容,其中包括新的文件夾結構。此樣板不再由 Tom McFarlin 本人維護(在撰寫本文時),他已經將接力棒傳給了 Devin Vinson。開發仍在按計劃繼續進行,因此如果您有任何問題,請隨時在 GitHub 倉庫中報告。我們也歡迎您的貢獻。
獲取樣板副本
獲取 WordPress 插件樣板副本最簡單的方法是克隆 git 倉庫本身。
<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>
或者您可以始終從 GitHub 倉庫下載 zip 文件。由於 3.0.0 版本已發布,因此不能簡單地將插件直接複製到您的 wp-content/plugins 目錄中。這是因為插件的實際源代碼不包含在根目錄中,而實際上位於名為 trunk 的子目錄中。現在不用擔心這個問題,我們稍後將在本文中討論新的文件夾結構。 README.md 文件中詳細介紹瞭如何正確安裝樣板的完整說明。簡而言之,您可以:
- 將 trunk 目錄複製到 wp-content/plugins 文件夾
- 複製整個樣板目錄,然後為 trunk 子目錄創建到 wp-content/plugins/
/ 的符號鏈接。創建符號鏈接將取決於您使用的操作系統。
完成此操作後,您現在應該在管理面板的插件列表中找到一個名為 WordPress Plugin Boilerplate 的插件,假設您沒有對樣板本身進行任何修改。只需激活插件即可開始使用!
使用在線生成器自定義插件
激活後,您將擁有一個基本上不執行任何操作的“普通”插件——至少目前是這樣。您還需要對整個樣板的代碼庫運行搜索和替換操作,此過程可能非常繁瑣且耗時。幸運的是,Enrique Chavez 創建了一個非官方生成器,可以自動化此過程。只需訪問 https://www.php.cn/link/6340831392e9cd8af9598274f4b3c5c0 並填寫頁面底部的表單即可生成個性化的 WordPress 插件樣板副本。
文件夾結構
讓我們更仔細地看看與舊版本相比,WordPress 插件樣板 3.0.0 版本是如何組織的。如前所述,實際的插件代碼包含在一個名為 trunk 的子目錄中,而不是根目錄中。這是為了遵循 WordPress 官方插件存儲庫中使用的標準,該存儲庫包含三個主要目錄:assets、branches 和 trunk。樣板已經提供了其中的兩個:assets 和 trunk。以下是樣板中包含的完整目錄和文件(在撰寫本文時):
<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>
以下是每個文件和文件夾的功能簡要說明:
-
.gitignore
:為大多數不應存在於 git 存儲庫中的內容提供合理的默認.gitignore
。 -
CHANGELOG.md
:樣板更改的標準變更日誌,包含更改日期。 -
README.md
:一個有用的入門指南,其中列出了安裝說明,以及其他一些部分,例如工具推薦和鳴謝。 -
assets
:此目錄包含在您決定將插件發佈到 WordPress 插件存儲庫時需要提供的推薦資源。此目錄中包含的所有圖像均為發布的推薦分辨率。 -
trunk
:這是您將要開發的實際插件。有一些文件夾將代碼庫分為管理和麵向公眾的功能。我們將詳細介紹每個子目錄的含義。-
admin
:admin
目錄中包含三個目錄,即css
、js
和partials
。顧名思義,所有面向管理的功能都應放在此處。默認情況下,plugin-name-admin.js
和plugin-name-admin.css
將添加到您的 wp-admin 中。class-plugin-name-admin.php
將提供通用功能,您可以在其中定義特定於管理的掛鉤。 -
public
:此目錄與admin
目錄提供的功能非常相似,唯一的區別是public
目錄應用於存儲所有面向公眾的功能代碼庫。 -
languages
:一個起始.pot
文件,您可以在其中為插件提供翻譯功能。 -
includes
:這可能是幾乎所有神奇之處發生的地方。默認情況下包含五個起始類,我們將在下一節中討論。 -
LICENSE.txt
:默認情況下包含 GPL v2 許可證的副本。 -
README.txt
:插件 README 文件的起點。此文件涵蓋了您可以進一步填寫以在 WordPress 插件存儲庫中提供良好的插件頁面的所有部分。 -
plugin-name.php
:插件的入口點。在此處,包含一個通用的插件文件頭,您可以根據自己的喜好進行修改。如果您需要在插件激活和/或停用時包含某種功能,則還會在此文件中註冊register_activation_hook
和register_deactivation_hook
。
-
包含的類
如前所述,trunk/includes
目錄中提供了五個默認類。讓我們看看每個類都做什麼:
-
class-plugin-name-activator.php
:此類在插件激活期間實例化。它只有一個靜態方法activate()
,該方法註冊到register_activation_hook
。每當您需要在插件激活時執行某些操作(例如創建自定義表或保存默認選項)時,請使用此類。 -
class-plugin-name-deactivator.php
:class-plugin-name-deactivator.php
的對應類。它也只有一個靜態方法deactivate()
,可用於在插件停用期間運行任何功能。 -
class-plugin-name-i18n.php
:插件 i18n 功能的起點。它有一個屬性$domain
,用於存儲插件文本域。可以使用公共方法set_domain()
設置此屬性。最後,每當加載插件時,都會調用此類中的load_plugin_textdomain()
方法。 -
class-plugin-name-loader.php
:樣板中可能最重要的類。它包含兩個屬性$actions
和$filters
,所有在插件中註冊的掛鉤都將存儲在此處。它提供兩個簡單的包裝函數add_action()
和add_filter()
,用於將操作或過濾器添加到$actions
和$filters
屬性中。這不要與 WordPress 默認的add_action()
和add_filter()
函數混淆,因為此類實際上並沒有直接註冊它們。所有掛鉤都只會在另一個名為run()
的方法期間註冊。 -
class-plugin-name.php
:將所有部分粘合在一起的類。它包含有關插件的重要信息,例如插件名稱和版本。此外,它將使用load_dependencies()
方法加載依賴項,這將包含以上四個類,並且將使用set_locale()
方法設置插件文本域。之前註冊的所有管理和公共掛鉤也可以在此處定義。此類還提供簡單的 get 方法,例如get_plugin_name()
用於返回插件名稱,get_version()
用於返回當前插件版本,以及get_loader()
用於保留class-plugin-name-loader.php
的實例。
結論
簡而言之,WordPress 插件樣板為插件開發人員提供了一個絕佳的起點。它遵循推薦的 WordPress 編碼標準以及 WordPress 文檔標準,因此您知道自己從一開始就走在了正確的道路上。此外,由於樣板已經提供了您所需的大部分內容,因此發佈到 WordPress 插件存儲庫變得更加容易。一旦我們熟悉了代碼組織和文件夾結構,我們將在本系列的第二部分中探討如何使用 WordPress 插件樣板開發實際插件。
以上是使用WordPress插件樣板加快開發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

博客是人們在網上表達觀點、意見和見解的理想平台。許多新手渴望建立自己的網站,卻因擔心技術障礙或成本問題而猶豫不決。然而,隨著平台不斷發展以滿足初學者的能力和需求,現在開始變得比以往任何時候都更容易。 本文將逐步指導您如何建立一個WordPress博客,從主題選擇到使用插件提升安全性和性能,助您輕鬆創建自己的網站。 選擇博客主題和方向 在購買域名或註冊主機之前,最好先確定您計劃涵蓋的主題。個人網站可以圍繞旅行、烹飪、產品評論、音樂或任何激發您興趣的愛好展開。專注於您真正感興趣的領域可以鼓勵持續寫作

最近,我們向您展示瞭如何通過允許用戶將自己喜歡的帖子保存在個性化庫中來為用戶創建個性化體驗。您可以通過在某些地方(即歡迎屏幕)使用他們的名字,將個性化結果提升到另一個水平。幸運的是,WordPress使獲取登錄用戶的信息變得非常容易。在本文中,我們將向您展示如何檢索與當前登錄用戶相關的信息。我們將利用get_currentuserinfo(); 功能。這可以在主題中的任何地方使用(頁眉、頁腳、側邊欄、頁面模板等)。為了使其工作,用戶必須登錄。因此我們需要使用

您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

過去,我們分享過如何使用PostExpirator插件使WordPress中的帖子過期。好吧,在創建活動列表網站時,我們發現這個插件非常有用。我們可以輕鬆刪除過期的活動列表。其次,多虧了這個插件,按帖子過期日期對帖子進行排序也非常容易。在本文中,我們將向您展示如何在WordPress中按帖子過期日期對帖子進行排序。更新了代碼以反映插件中更改自定義字段名稱的更改。感謝Tajim在評論中讓我們知道。在我們的特定項目中,我們將事件作為自定義帖子類型。現在

您是否正在尋找自動化 WordPress 網站和社交媒體帳戶的方法? 通過自動化,您將能夠在 Facebook、Twitter、LinkedIn、Instagram 等平台上自動分享您的 WordPress 博客文章或更新。 在本文中,我們將向您展示如何使用 IFTTT、Zapier 和 Uncanny Automator 輕鬆實現 WordPress 和社交媒體的自動化。 為什麼要自動化 WordPress 和社交媒體? 自動化您的WordPre

我們的一位用戶詢問其他網站如何在頁腳中顯示查詢數量和頁面加載時間。您經常會在網站的頁腳中看到這一點,它可能會顯示類似以下內容:“1.248秒內64個查詢”。在本文中,我們將向您展示如何在WordPress中顯示查詢數量和頁面加載時間。只需將以下代碼粘貼到主題文件中您喜歡的任何位置(例如footer.php)。 queriesin

要使用 WordPress 主機建站,需要:選擇一個可靠的主機提供商。購買一個域名。設置 WordPress 主機帳戶。選擇一個主題。添加頁面和文章。安裝插件。自定義您的網站。發布您的網站。
