>
>本文將重點介紹創建和激活插件,以及開發插件的管理功能。為了遵循本教程,您需要對PHP和WordPress的基本了解,並且對WordPress插件API具有工作知識。鑰匙要點
>前往WordPress插件生成器網站,並用適當的值填寫表單。讓我們稱我們的插件為“過時的通知”。這是一個示例表格,其中填充了字段。
>>
單擊“構建”按鈕,您應該獲得WordPress插件板的不錯的自定義副本。
>安裝和激活插件>
>我們仍然需要適當地重命名以避免與其他插件的命名衝突,因此我們將把Trunk Directory重命名為過時的通用。如果您現在轉到WP-Admin中的“已安裝插件”部分,則可以肯定的是,您會看到插件已在已安裝但尚未激活的插件列表中。插件樣板生成器對插件描述沒有更改任何內容,因此,如果要更改它,我們可以簡單地在主插件文件中編輯描述,在我們的情況下,eutated-notice.php。
>單擊“激活”以激活閃亮的新插件。您的WordPress網站上什麼都不會改變,因此請不要擔心激活插件後什麼都看不到。
>>插件開發人員通常為用戶提供一種自定義插件設置的方法。這可以通過使用WordPress提供的設置API來實現。讓我們看看如何將自己的設置集成到插件中。
讓我們開始添加一個插件的選項頁面。
>>在管理文件夾中打開class-of-notice-admin.php。我們需要修改此類,以允許我們為插件註冊設置頁面。將此公共方法添加到班級結束時。
>>要注意的一件事是,由於我們正在使用類來定義鉤子,因此我們需要以數組的形式傳遞一個數組(
<span>/** </span><span> * Add an options page under the Settings submenu </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function add_options_page() { </span> <span>$this->plugin_screen_hook_suffix = add_options_page( </span> <span>__( 'Outdated Notice Settings', 'outdated-notice' ), </span> <span>__( 'Outdated Notice', 'outdated-notice' ), </span> <span>'manage_options', </span> <span>$this->plugin_name, </span> <span>array( $this, 'display_options_page' ) </span> <span>); </span> <span>}</span>
應該做到的。我們現在需要做的最後一件事是使用樣板中提供的加載程序類正確加載它。在Include文件夾中打開您的類列出的notice.php,並添加我們在define_admin_hooks方法內定義的其他掛鉤。在我們的選項頁面上包含的適當操作掛鉤是admin_menu,所以讓我們添加它。
><span>/** </span><span> * Render the options page for plugin </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function display_options_page() { </span> <span>include_once 'partials/outdated-notice-admin-display.php'; </span> <span>}</span>
>您現在應該在設置下查看附加的“過時通知”子菜單。您可以通過訪問URL http:// /wp-admin/options-general.php?page=Outdated-notice。
>現在是一個空白頁,所以讓我們開始使用正確的標記填充部分文件。註冊,保存和檢索設置值
這是我們將要做的事情的細分:
用樣板加載器註冊鉤子
為了使事情變得更簡單,並為我們的選項名稱提供了基本的命名空間,我們將在此類的頂部添加另一個私人變量。將此摘要放在Outed_notice_admin類的頂部。
從現在開始,我們將將此值預先為與我們的選項相關的任何事物。
><span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>
註冊設置部分
<span>$this->loader->add_action( 'admin_init', $plugin_admin, 'register_setting' );</span>
這個片段將允許我們使用add_settings_section函數為我們的選項頁面註冊一個“常規”部分。
<span>/** </span><span> * Add an options page under the Settings submenu </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function add_options_page() { </span> <span>$this->plugin_screen_hook_suffix = add_options_page( </span> <span>__( 'Outdated Notice Settings', 'outdated-notice' ), </span> <span>__( 'Outdated Notice', 'outdated-notice' ), </span> <span>'manage_options', </span> <span>$this->plugin_name, </span> <span>array( $this, 'display_options_page' ) </span> <span>); </span> <span>}</span>
請注意,我們正在用變量$ option_name預列出我們的部分名稱,以防止與其他插件發生衝突。回調可用於提供有關我們部分的其他信息,這正是我們想要的。
>我們將添加另一種公共方法,Outdated_notice_general_cb,該方法將呼應有關本節的基本信息。
<span>/** </span><span> * Render the options page for plugin </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> */ </span> <span>public function display_options_page() { </span> <span>include_once 'partials/outdated-notice-admin-display.php'; </span> <span>}</span>
>我們將使用無線電按鈕進行文本位置配置。這是通過將此代碼添加到我們擁有的register_setting函數中來完成的。
>我們需要確保Add_settings_field的第五個參數將指向我們之前註冊的正確設置部分,否則我們可能在我們的選項頁面上看不到字段。
<span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>
可以使用普通文本輸入來配置一天閾值的第二個選項。因此,我們將註冊另一個設置字段:
<span>$this->loader->add_action( 'admin_init', $plugin_admin, 'register_setting' );</span>
註冊設置
<span>/** </span><span> * The options name to be used in this plugin </span><span> * </span><span> * <span>@since 1.0.0 </span></span><span> * <span>@access private </span></span><span> * <span>@var <span>string</span> $option_name Option name of this plugin </span></span><span> */ </span> <span>private $option_name = 'outdated_notice';</span>
<span>// Add a General section </span> <span>add_settings_section( </span> <span>$this->option_name . '_general', </span> <span>__( 'General', 'outdated-notice' ), </span> <span>array( $this, $this->option_name . '_general_cb' ), </span> <span>$this->plugin_name </span> <span>);</span>
這是一個簡單的消毒回調函數,可以實現這一目標: >現在我們需要確保正確的頁面渲染器。由於我們正在使用WordPress的方式註冊我們的字段和設置,因此此任務特別簡單。 >打開admin/partials文件夾內的過時的notice-admin-display.php。 以下是我們可以根據我們之前註冊的設置渲染選項頁面的方式。
>
>這意味著我們的表單正常工作,因此唯一需要完成的操作是在文本字段中顯示當前值,並確保選中正確的廣播按鈕。
這是回調的更新片段。
這絕不是完整的。我們始終可以改善此插件的管理功能。我能想到的一些事情是: i18n(國際化)準備就緒 - 儘管我們在插件中廣泛使用__()和_e(),但我們並沒有真正完成實際的I18N過程。我不會在此處介紹此過程,因為該主題已經在SitePoint上進行了廣泛討論,例如在本文中。
>我們通過註冊相關設置創建了一個帶有基本管理功能的插件,並為用戶創建一個選項頁面以自定義我們的插件。在使用WordPress插件樣板的時間相對較短的時間內,我們實現了這一目標而不損害代碼質量,但仍按照WordPress建議的最佳實踐。
> > WordPress插件樣板,您可以在包含目錄中創建新類。這些類應擴展樣板提供的基類。然後,您可以將自己的方法添加到這些類中以實現所需的功能。您還可以根據需要修改現有的類和方法。 以將管理特定功能添加到插件中,您可以使用WordPress插入式Blookin Boblelplate的管理目錄中提供的類和方法。該目錄包括用於創建管理頁面,添加設置字段和處理表單提交的類。 以將公共面向公共功能添加到您的插件,您可以使用WordPress插件樣板的公共目錄中提供的類和方法。該目錄包括用於啟動腳本和样式的類,以及顯示面向公眾的內容。 > 用於處理AJAX請求。這些類包括用於註冊AJAX操作,處理AJAX請求和發送AJAX響應的方法。 <span>/**
</span><span> * Add an options page under the Settings submenu
</span><span> *
</span><span> * <span>@since 1.0.0
</span></span><span> */
</span> <span>public function add_options_page() {
</span>
<span>$this->plugin_screen_hook_suffix = add_options_page(
</span> <span>__( 'Outdated Notice Settings', 'outdated-notice' ),
</span> <span>__( 'Outdated Notice', 'outdated-notice' ),
</span> <span>'manage_options',
</span> <span>$this->plugin_name,
</span> <span>array( $this, 'display_options_page' )
</span> <span>);
</span>
<span>}</span>
填充選項頁面
在註冊所有相關設置之後,<span>/**
</span><span> * Render the options page for plugin
</span><span> *
</span><span> * <span>@since 1.0.0
</span></span><span> */
</span> <span>public function display_options_page() {
</span> <span>include_once 'partials/outdated-notice-admin-display.php';
</span> <span>}</span>
保存並重新填充字段
>
>嘗試填充一些值並保存表單。您應該收到“保存設置”的通知。但是沒有發生。讓我們嘗試對我們的兩個選項進行var_dump。將其放在相關功能中。 <span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>
<span>$this->loader->add_action( 'admin_init', $plugin_admin, 'register_setting' );</span>
<span>/**
</span><span> * The options name to be used in this plugin
</span><span> *
</span><span> * <span>@since 1.0.0
</span></span><span> * <span>@access private
</span></span><span> * <span>@var <span>string</span> $option_name Option name of this plugin
</span></span><span> */
</span> <span>private $option_name = 'outdated_notice';</span>
代碼清理 - WordPress插件樣板具有許多有用的功能,但是在我們的情況下,管理方面,CSS和JS加載是完全不必要的。我們隨時可以從我們的代碼庫中刪除它。
結論
> WordPress插件樣板是什麼,為什麼要使用它?它提供了一個易於理解和使用的清晰,一致的結構。使用此樣板可以為您節省大量的時間和精力來設置插件的基本結構。它還可以確保您的插件遵循WordPress編碼標準和最佳實踐,這可以幫助防止錯誤和兼容性問題。 >
>我如何開始使用WordPress plugin Boilerplate?使用WordPress插件樣板,您首先需要從其GitHub存儲庫下載它。下載後,您可以重命名樣板的目錄和文件以匹配插件的名稱。然後,您可以通過在樣板的現有結構中添加自己的自定義功能來開始開發插件。 >如何處理WordPress插件樣板中的插件設置?
>如何在插件中添加Admin特定功能?
>如何將面向公共的功能添加到我的插件中?
如何使用WordPress插入式插件國際化我的插件?
>
>在使用WordPress plubin Boblein blogin blogin Plate時,我如何調試我的插件?插件樣板可以通過多種方式完成。一種常見的方法是在wp-config.php文件中使用wp_debug常數。這將顯示PHP錯誤,通知和警告。您還可以使用可用於WordPress的各種調試插件,也可以使用PHP的內置錯誤記錄功能。
以上是WordPress插件樣板第2部分:開發插件的詳細內容。更多資訊請關注PHP中文網其他相關文章!