Wordpress/外掛:修訂版本之間的差異

出自福留子孫
跳轉到: 導覽搜尋
文件頭
文件頭
第 22 行: 第 22 行:
 
*/
 
*/
 
?&gt;</pre>
 
?&gt;</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/
    1. 你必須在插件包中建立一個標準格式的readme.txt文件. 文件格式參見http://wordpress.org/extend/plugins/about/readme.txt.
    2. 你可以訪問http://wordpress.org/extend/plugins/about/readme.txt 查看如何去格式化自述文件,或者訪問http://generatewp.com/plugin-readme/ 來使用文檔自動生成器
    3. 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向我們提出建議,您的建議通常都會被我們採納。

參考連結