搜尋
首頁CMS教程&#&按WordPress插件樣板第2部分:開發插件

WordPress插件樣板第2部分:開發插件

在我的系列的第一部分,WordPress插件樣板的簡介中,我們研究瞭如何在樣板中組織代碼。為了繼續本系列,我們將應用我們之前學到的知識來構建真正的工作插件。我們將看看我們可以使用樣板代碼來啟動和運行插件的速度,並儘可能少。

>

>本文將重點介紹創建和激活插件,以及開發插件的管理功能。為了遵循本教程,您需要對PHP和WordPress的基本了解,並且對WordPress插件API具有工作知識。

鑰匙要點

    >使用WordPress插件樣板通過結構化的,有組織的方法加快開發過程,確保遵循最佳實踐。
  • >通過使用設置API添加選項頁面來自定義插件,以允許用戶修改設置,例如通知的顯示位置以及後來考慮過時的幾天。
  • >通過註冊設置,添加設置字段以及使用樣板中提供的類和方法來處理這些設置值的保存和檢索。
  • >通過為選項頁面創建一個乾淨,用戶友好的界面來優化插件的面向式功能,並確保正確保存和顯示設置。
  • >
  • >計劃進一步增強,例如代碼清理,國際化和更有選擇性的應用程序邏輯,以完善插件的效率和用戶體驗。
  • 關於插件的
  • >
  • >我們將開發一個簡單的插件,該插件將顯示自上次更新特定帖子以來的天數。我們還將為插件提供幾個簡單的自定義,從而允許用戶選擇特定數量,然後將其視為過時的帖子,以及在帖子內容中的通知位置。 >
  • 準備樣板

>正如第一篇文章所述,我們可以下載樣板的新副本,進行搜索並自行更換,或者我們可以使用非正式的WordPress插件樣板生成器來加快流程。讓我們將發電機用於插件。

>

>前往WordPress插件生成器網站,並用適當的值填寫表單。讓我們稱我們的插件為“過時的通知”。這是一個示例表格,其中填充了字段。

>

>我正在為鏈接到官方存儲庫的插件URL使用一個假想的URL。不必太擔心這些東西,因為我們始終可以在插件標題中對其進行修改。

>

單擊“構建”按鈕,您應該獲得WordPress插件板的不錯的自定義副本。

>安裝和激活插件

生成的郵政編碼將包含兩個預期的目錄,資產和中繼。我們不會在安裝插件時使用Symlink路由,因此請在存檔中提取中繼文件夾並將其複製到WP-CONTENT/插件目錄中。

>

>我們仍然需要適當地重命名以避免與其他插件的命名衝突,因此我們將把Trunk Directory重命名為過時的通用。

如果您現在轉到WP-Admin中的“已安裝插件”部分,則可以肯定的是,您會看到插件已在已安裝但尚未激活的插件列表中。插件樣板生成器對插件描述沒有更改任何內容,因此,如果要更改它,我們可以簡單地在主插件文件中編輯描述,在我們的情況下,eutated-notice.php。

>單擊“激活”以激活閃亮的新插件。您的WordPress網站上什麼都不會改變,因此請不要擔心激活插件後什麼都看不到。

> WordPress插件樣板第2部分:開發插件添加選項頁

>插件開發人員通常為用戶提供一種自定義插件設置的方法。這可以通過使用WordPress提供的設置API來實現。讓我們看看如何將自己的設置集成到插件中。

> 簡而言之,我們將允許用戶在帖子內容之前或郵政內容之後選擇通知出現的位置。就閾值的天數而言,用戶可以設置要過時的帖子之前的天數。使用這些信息,我們將動態更改通知的類別,以便我們可以與仍然被認為是新鮮的帖子進行不同的樣式。

>

讓我們開始添加一個插件的選項頁面。

>

>在管理文件夾中打開class-of-notice-admin.php。我們需要修改此類,以允許我們為插件註冊設置頁面。將此公共方法添加到班級結束時。

>

>要注意的一件事是,由於我們正在使用類來定義鉤子,因此我們需要以數組的形式傳遞一個數組(,>我們還沒有完成!如我們所見,add_options_page需要一個有效的回調函數,我們尚未在OUTED_NOTICE_ADMIN類中定義。讓我們加入它。這應該很簡單,因為我們將使用我們的管理員/partials文件夾中包含的提供的過時的notice-admin-display.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。

>現在是一個空白頁,所以讓我們開始使用正確的標記填充部分文件。

註冊,保存和檢索設置值

WordPress codex上的設置API頁面提供了一個很好的解釋,以說明如何註冊我們自己的設置,包括在選項頁面上顯示它們。

這是我們將要做的事情的細分:

用樣板加載器註冊鉤子

    註冊設置部分
  1. 註冊兩個設置字段(閾值天數和文本位置)
  2. 註冊兩個設置
  3. 填充選項頁面
  4. 保存並重新播放顯示字段。
  5. >將鉤子註冊到樣板加載器
>讓我們逐一遍歷所有步驟。

>

>要註冊設置部分,我們將需要使用register_setting函數。適當的掛鉤以初始化該函數是admin_Init。因此,首先,我們將在樣板加載器中添加另一個鉤子,以在我們的主樣本類的Define_admin_hooks方法中註冊我們的設置。

為了使事情變得更簡單,並為我們的選項名稱提供了基本的命名空間,我們將在此類的頂部添加另一個私人變量。將此摘要放在Outed_notice_admin類的頂部。

從現在開始,我們將將此值預先為與我們的選項相關的任何事物。

>
<span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>
接下來是實際註冊“設置”部分,設置字段和各個設置。再次打開OUTED_NOTICE_ADMIN類,然後添加公共方法寄存器。

註冊設置部分

<span>$this->loader->add_action( 'admin_init', $plugin_admin, 'register_setting' );</span>
>在public Register_setting方法中,我們將註冊設置部分。我不會對各種功能和API進行太多的研究,因為法典已經提供了足夠的信息來開始。由於我們的插件設置相對簡單,我們將僅註冊一個部分。

這個片段將允許我們使用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>
註冊兩個設置字段(閾值天數和文本位置)

我們需要使用的設置API的下一部分是在選項頁面上註冊要渲染的實際字段。可以使用add_settings_field函數來實現這一點。

>我們將使用無線電按鈕進行文本位置配置。這是通過將此代碼添加到我們擁有的register_setting函數中來完成的。

>

我們需要確保Add_settings_field的第五個參數將指向我們之前註冊的正確設置部分,否則我們可能在我們的選項頁面上看不到字段。 >
<span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>
>這還尚未完成。我們需要提供回調功能,以呈現我們的無線電按鈕的實際標記。在我們的OUTED_NOTICE_POINTION_CB函數中,我們需要包括此代碼塊:

可以使用普通文本輸入來配置一天閾值的第二個選項。因此,我們將註冊另一個設置字段:

<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中識別。由於我們使用了兩個不同的選項名稱,即OUTED_NOTICE_POINTION和OUTED_NOTICE_DAY,因此我們將使用register_setting函數進行註冊。 >
<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>
請注意,寄存器_setting函數的第三個參數是消毒回調。儘管它是可選的,但要確保在保存到數據庫之前對輸入值進行消毒總是很有用的。

對於日期消費,我們將使用內置的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>

填充選項頁面

在註冊所有相關設置之後,

>現在我們需要確保正確的頁面渲染器。由於我們正在使用WordPress的方式註冊我們的字段和設置,因此此任務特別簡單。

>

>打開admin/partials文件夾內的過時的notice-admin-display.php。 以下是我們可以根據我們之前註冊的設置渲染選項頁面的方式。 >

<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>
>與do_settings_sections and settings_fields功能的簡單組合,您的選項頁面完全可以立即完成。

>讓我們休息一下,刷新選項頁面。

>

WordPress插件樣板第2部分:開發插件保存並重新填充字段

>

>嘗試填充一些值並保存表單。您應該收到“保存設置”的通知。但是沒有發生。讓我們嘗試對我們的兩個選項進行var_dump。將其放在相關功能中。

根據以下示例,我們應該從數據庫中獲取一些值:>
<span>$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_options_page' );</span>

>這意味著我們的表單正常工作,因此唯一需要完成的操作是在文本字段中顯示當前值,並確保選中正確的廣播按鈕。

>讓我們首先處理收音機按鈕。作為快捷方式,我們將使用WordPress提供的檢查功能來標記先前選擇的值。我們的OUTED_NOTICE_POINTION_CB將需要一些修改。
<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加載是完全不必要的。我們隨時可以從我們的代碼庫中刪除它。

i18n(國際化)準備就緒 - 儘管我們在插件中廣泛使用__()和_e(),但我們並沒有真正完成實際的I18N過程。我不會在此處介紹此過程,因為該主題已經在SitePoint上進行了廣泛討論,例如在本文中。

>最佳選擇 - 由於我們的實施將應用於所有帖子,我們可以進一步優化它以應用於某個類別中的帖子,或其中包含特定標籤的帖子。
  • 可以從該GitHub存儲庫中查看完整的代碼。

    結論

    >我們通過註冊相關設置創建了一個帶有基本管理功能的插件,並為用戶創建一個選項頁面以自定義我們的插件。在使用WordPress插件樣板的時間相對較短的時間內,我們實現了這一目標而不損害代碼質量,但仍按照WordPress建議的最佳實踐。

    >請繼續關注本系列的下一部分,我們將在插件的公開面上進行公開面向帖子內容中的適當通知。

    經常詢問有關使用樣板開發WordPress插件的問題

    > WordPress插件樣板是什麼,為什麼要使用它?它提供了一個易於理解和使用的清晰,一致的結構。使用此樣板可以為您節省大量的時間和精力來設置插件的基本結構。它還可以確保您的插件遵循WordPress編碼標準和最佳實踐,這可以幫助防止錯誤和兼容性問題。

    >

    >我如何開始使用WordPress plugin Boilerplate?使用WordPress插件樣板,您首先需要從其GitHub存儲庫下載它。下載後,您可以重命名樣板的目錄和文件以匹配插件的名稱。然後,您可以通過在樣板的現有結構中添加自己的自定義功能來開始開發插件。

    >

    > wordpress插件blobin Boblein broilerplate的主要組件是什麼?

    主要組件。其中包括包含插件標頭和加載程序類的插件文件;包括包含核心插件類和其他功能相關文件的目錄;管理目錄,其中包含與插件特定功能有關的文件;和包含與插件的公共面向功能有關的文件的公共目錄。

    >

    >如何將自己的功能添加到WordPress插件樣板上?

    >

    WordPress插件樣板,您可以在包含目錄中創建新類。這些類應擴展樣板提供的基類。然後,您可以將自己的方法添加到這些類中以實現所需的功能。您還可以根據需要修改現有的類和方法。

    >如何處理WordPress插件樣板中的插件設置? >

    >如何在插件中添加Admin特定功能?

    以將管理特定功能添加到插件中,您可以使用WordPress插入式Blookin Boblelplate的管理目錄中提供的類和方法。該目錄包括用於創建管理頁面,添加設置字段和處理表單提交的類。

    >如何將面向公共的功能添加到我的插件中?

    以將公共面向公共功能添加到您的插件,您可以使用WordPress插件樣板的公共目錄中提供的類和方法。該目錄包括用於啟動腳本和样式的類,以及顯示面向公眾的內容。

    如何使用WordPress插入式插件國際化我的插件? >國際化。此類包括用於加載插件文本域的方法,該方法允許您的插件翻譯成不同的語言。

    >

    如何在插件中處理AJAX請求?

    >

    用於處理AJAX請求。這些類包括用於註冊AJAX操作,處理AJAX請求和發送AJAX響應的方法。

    >

    >在使用WordPress plubin Boblein blogin blogin Plate時,我如何調試我的插件?插件樣板可以通過多種方式完成。一種常見的方法是在wp-config.php文件中使用wp_debug常數。這將顯示PHP錯誤,通知和警告。您還可以使用可用於WordPress的各種調試插件,也可以使用PHP的內置錯誤記錄功能。

以上是WordPress插件樣板第2部分:開發插件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
wordpress怎麼加評論框wordpress怎麼加評論框Apr 20, 2025 pm 12:15 PM

在 WordPress 網站上啟用評論功能,可以為訪客提供參與討論和分享反饋的平台。為此,請按照以下步驟操作:啟用評論:在儀錶盤中,導航至“設置”>“討論”,並選中“允許評論”複選框。創建評論表單:在編輯器中,單擊“添加塊”並蒐索“評論”塊,將其添加到內容中。自定義評論表單:通過設置標題、標籤、佔位符和按鈕文本來定制評論塊。保存更改:單擊“更新”以保存評論框並將其添加到頁面或文章中。

wordpress怎麼複製子站wordpress怎麼複製子站Apr 20, 2025 pm 12:12 PM

如何復制 WordPress 子站?步驟:在主站創建子站。在主站克隆子站。將克隆導入目標位置。更新域名(可選)。分開插件和主題。

wordpress怎麼寫頁頭wordpress怎麼寫頁頭Apr 20, 2025 pm 12:09 PM

在WordPress中創建自定義頁頭的步驟如下:編輯主題文件“header.php”。添加您的網站名稱和描述。創建導航菜單。添加搜索欄。保存更改並查看您的自定義頁頭。

wordpress評論怎麼顯示wordpress評論怎麼顯示Apr 20, 2025 pm 12:06 PM

WordPress 網站中啟用評論功能:1. 登錄管理面板,轉到 "設置"-"討論",勾選 "允許評論";2. 選擇顯示評論的位置;3. 自定義評論表單;4. 管理評論,批准、拒絕或刪除;5. 使用 <?php comments_template(); ?> 標籤顯示評論;6. 啟用嵌套評論;7. 調整評論外形;8. 使用插件和驗證碼防止垃圾評論;9. 鼓勵用戶使用 Gravatar 頭像;10. 創建評論指

wordpress怎麼上傳源碼wordpress怎麼上傳源碼Apr 20, 2025 pm 12:03 PM

可以通過 WordPress 安裝 FTP 插件,配置 FTP 連接,然後使用文件管理器上傳源碼。步驟包括:安裝 FTP 插件、配置連接、瀏覽上傳位置、上傳文件、檢查上傳成功。

wordpress代碼怎麼複製wordpress代碼怎麼複製Apr 20, 2025 pm 12:00 PM

如何復制 WordPress 代碼?從管理界面複製:登錄 WordPress 網站,導航到目標位置,選擇代碼並按 Ctrl C (Windows)/Command C (Mac) 複製代碼。從文件複製:使用 SSH 或 FTP 連接到服務器,導航到主題或插件文件,選擇代碼並按 Ctrl C (Windows)/Command C (Mac) 複製代碼。

wordpress出現錯誤怎麼辦wordpress出現錯誤怎麼辦Apr 20, 2025 am 11:57 AM

WordPress 錯誤解決指南:500 內部服務器錯誤:禁用插件或檢查服務器錯誤日誌。 404 未找到頁面:檢查 permalink 並確保頁面鏈接正確。白屏死機:增加服務器 PHP 內存限制。數據庫連接錯誤:檢查數據庫服務器狀態和 WordPress 配置。其他技巧:啟用調試模式、檢查錯誤日誌和尋求支持。預防錯誤:定期更新 WordPress、僅安裝必要插件、定期備份網站和優化網站性能。

wordpress怎麼關閉評論wordpress怎麼關閉評論Apr 20, 2025 am 11:54 AM

如何在 WordPress 中關閉評論?特定文章或頁面:在編輯器中取消選中“討論”下的“允許評論”。整個網站:在“設置”->“討論”中取消選中“允許發表評論”。使用插件:安裝 Disable Comments 等插件禁用評論。編輯主題文件:通過編輯 comments.php 文件移除評論表單。自定義代碼:使用 add_filter() 函數禁用評論。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!