Wordpress/外掛:修訂版本之間的差異
出自福留子孫
(→文件頭) |
(→文件頭) |
||
第 22 行: | 第 22 行: | ||
*/ | */ | ||
?></pre> | ?></pre> | ||
+ | 版權信息:略 | ||
+ | ===外掛鉤子=== | ||
+ | 許多WordPress外掛都是通過與外掛鉤子相關聯的方式,來完成他們的功能的。外掛鉤子的工作原理是:在WordPress運行期間,有許多特定的時間點,WordPress會在這些時間點檢測相應的外掛鉤子,如果檢測到有函數與當前的外掛鉤子相關聯的話,就會運行這些函數。正是這些函數改變了WordPress的預設功能。 | ||
+ | |||
+ | 例如,當WordPress在發表一篇文章之前,會首先檢測一個名為"the_title"的外掛鉤子(過濾器類型的鉤子),如果此時有任何外掛的函數與這個鉤子相關聯的話,那麼文章的標題就會首先被這些函數依次進行處理,最後再把函數處理的結果顯示到屏幕上。所以,如果你的外掛想要對文章的標題進行處理的話,就需要將對應的處理函數註冊到名為"the_title"的過濾器鉤子上。 | ||
+ | |||
+ | 再舉個例子,在WordPress即將生成</HTML>標籤之前,會檢測一個名為"wp_footer"的外掛鉤子(動作類型的鉤子),如果此時有外掛的函數與這個鉤子相關聯的話,那麼WordPress就會先依次執行這些函數,然後再繼續生成</HTML>標籤。 | ||
+ | |||
+ | 如果想要瞭解動作類型鉤子和過濾器鉤子的區別、如何向鉤子上註冊函數,以及WordPress在什麼時間點會調用哪些外掛鉤子,你可以參閱Plugin API。如果您發現了一個想要對其進行處理的時間點,但是WordPress並未對這個時間點提供外掛鉤子的話,您也可以通過Reporting Bugs向我們提出建議,您的建議通常都會被我們採納。 | ||
===參考連結=== | ===參考連結=== | ||
*[https://codex.wordpress.org/Writing_a_Plugin 寫外掛官方文件] | *[https://codex.wordpress.org/Writing_a_Plugin 寫外掛官方文件] |
2016年8月12日 (五) 00:07的修訂版本
概述
- 位置在/wp-content/plugins/之下
- 主要是php,不可兩插件同名
- 附屬Javascript、CSS、圖照、語言檔等。
- 如包含多個檔案,你還需要建立一個資料夾,並把外掛包含的所有檔案放到這個資料夾中,這樣你只要把整個資料夾放到wp-content/plugins/目錄下就可以了。資料夾夾的名稱通常和PHP的名稱相同,例如PHP的名稱叫做functionality.php的話,資料夾的名稱就可以叫做functionality。
- 由於在WordPress中可以配置wp-content/plugins/目錄的位置,所以你必須使用plugin_dir_path()和plugins_url()兩個函數來獲取外掛的路徑。
- 如果你想將你的插件發佈到http://wordpress.org/extend/plugins/
- 你必須在插件包中建立一個標準格式的readme.txt文件. 文件格式參見http://wordpress.org/extend/plugins/about/readme.txt.
- 你可以訪問http://wordpress.org/extend/plugins/about/readme.txt 查看如何去格式化自述文件,或者訪問http://generatewp.com/plugin-readme/ 來使用文檔自動生成器
- WordPress是通過自述文件來判斷這個插件是處於「必要」還是「測試」狀態的。
文件頭
至少要包括外掛名稱,這樣WordPress才能識別你的外掛。其他信息將顯示在控制面板外掛管理頁面中。標準外掛信息對各行順序沒有要求。<?php /* Plugin Name: 外掛名稱 Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates Description: 外掛的簡單描述 Version: 外掛版本號, 例如: 1.0 Author: 外掛作者 Author URI: http://URI_Of_The_Plugin_Author作者地址 */ ?>
版權信息:略
外掛鉤子
許多WordPress外掛都是通過與外掛鉤子相關聯的方式,來完成他們的功能的。外掛鉤子的工作原理是:在WordPress運行期間,有許多特定的時間點,WordPress會在這些時間點檢測相應的外掛鉤子,如果檢測到有函數與當前的外掛鉤子相關聯的話,就會運行這些函數。正是這些函數改變了WordPress的預設功能。
例如,當WordPress在發表一篇文章之前,會首先檢測一個名為"the_title"的外掛鉤子(過濾器類型的鉤子),如果此時有任何外掛的函數與這個鉤子相關聯的話,那麼文章的標題就會首先被這些函數依次進行處理,最後再把函數處理的結果顯示到屏幕上。所以,如果你的外掛想要對文章的標題進行處理的話,就需要將對應的處理函數註冊到名為"the_title"的過濾器鉤子上。
再舉個例子,在WordPress即將生成</HTML>標籤之前,會檢測一個名為"wp_footer"的外掛鉤子(動作類型的鉤子),如果此時有外掛的函數與這個鉤子相關聯的話,那麼WordPress就會先依次執行這些函數,然後再繼續生成</HTML>標籤。
如果想要瞭解動作類型鉤子和過濾器鉤子的區別、如何向鉤子上註冊函數,以及WordPress在什麼時間點會調用哪些外掛鉤子,你可以參閱Plugin API。如果您發現了一個想要對其進行處理的時間點,但是WordPress並未對這個時間點提供外掛鉤子的話,您也可以通過Reporting Bugs向我們提出建議,您的建議通常都會被我們採納。