欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

極驗(yàn)wordpress 極驗(yàn)科技

wordpress 像極驗(yàn)驗(yàn)證這樣的驗(yàn)證碼插件嗎

資源

為安岳等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及安岳網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、安岳網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

在 插件資源集合 有各種你可能需要的資源,包括外站關(guān)于寫插件的文章,以及特定主題的文章。

學(xué)習(xí)一個(gè)叫 Hello Dolly 的插件“范本”可以領(lǐng)你入門。

如果你的插件已經(jīng)寫完了,并自以為寫的不錯(cuò),查看 插件提交以及推廣。

新建一個(gè)插件

這個(gè)部分告訴你怎么把開發(fā)插件的理想變?yōu)楝F(xiàn)實(shí)。

名稱,文件和地方

插件名

你得先想一個(gè)名字,并且努力讓它獨(dú)一無二。在 Plugins 或者其他寶貝地方——Google或者百度先驗(yàn)證一下這個(gè)名字到底是不是獨(dú)一無二的。另外你的名字得讓別人明白你的插件是干什么的。

插件文件

下一步是創(chuàng)建一個(gè)PHP文件。按照原文奇怪的邏輯,你得先想好名字。這個(gè)名字還得是從插件名衍生過來的(其實(shí)是為你自己辨認(rèn)的)。舉個(gè)例子吧,比如說你的插件名字叫 "Fabulous Functionality",你的PHP名字可能是 fabfunc.php。另外不要用漢語拼音(這也是我加的),還要避免重名。人民群眾會(huì)把你的插件安裝到一個(gè)你也知道的叫wp-content/plugins/的地方,如果名字沖突豈不要悲劇了。

你也可以選擇把插件分割成幾個(gè)文件。 顯而易見一個(gè)php文件是必需的,同時(shí)還需要圖片、CSS、JavaScript、語言(當(dāng)然也可以沒有)。如果有很多文件,命名一個(gè)php和一個(gè)文件夾,例如 fabfunc and fabfunc.php。把你所有插件文件放到文件夾里,然后讓你的用戶相信只要把你的整個(gè)壓縮包解壓到 wp-content/plugins/就能正常使用你的勞動(dòng)成果。

在本文的其余部分,“插件的PHP文件”是指主要插件的PHP文件,無論是在的wp-content/plugins/或子目錄。

Readme文件

如果你想將你的插件發(fā)布到, 你必須在插件包中建立一個(gè)標(biāo)準(zhǔn)格式readme.txt文件. 文件格式參見about/readme.txt.

主頁

最好為插件建立一個(gè)主頁,以介紹插件的功能、安裝方法、使用說明、適用的WordPress版本、插件更新信息等。

文件Headers

現(xiàn)在開始吧,首先讓我們從向PHP主文件中加入一些信息

標(biāo)準(zhǔn)插件信息

插件的主文件頂部必須包括一個(gè)標(biāo)準(zhǔn)插件信息頭。WordPress通過標(biāo)準(zhǔn)信息頭識別插件的存在,并把她加入到控制面板的插件管理頁面,這樣插件才能激活,載入插件,并運(yùn)行里面的函數(shù);如果沒有信息頭,插件將無法激活和使用。標(biāo)準(zhǔn)信息插件頭的格式為:

標(biāo)準(zhǔn)信息頭至少要包括插件名稱,這樣WordPress才能識別你的插件。其他信息將顯示在控制面板插件管理頁面中。標(biāo)準(zhǔn)插件信息對各行順序沒有要求。

這樣的升級機(jī)制能夠正確地讀出你的插件版本,建議你選擇一個(gè)格式的版本號,不同版本之間,并堅(jiān)持下去。例如,x.x中或x.x.x或xx.xx.xxx

注意:文件必須是 UTF-8 格式!

版權(quán)信息

通常我們還要在標(biāo)準(zhǔn)信息頭中加入插件的許可證信息。大多數(shù)插件使用GPL或GPLCompatibleLicenses許可。如果使用GPL許可,要求插件中包含以下信息:

開始編寫插件

現(xiàn)在是時(shí)候讓你的插件能干些什么了。這部分內(nèi)容包括插件開發(fā)的一般思路,而且介紹了開發(fā)插件需要做哪些工作。

WordPress插件鉤子

許多WordPress插件通過連接一個(gè)或多個(gè)WordPress插件鉤子來完成他們的功能。插件鉤子的運(yùn)行機(jī)理是,當(dāng)WordPress運(yùn)行到不同階段,WordPress會(huì)檢查當(dāng)前階段是否注冊了插件函數(shù),如果是,那么函數(shù)將被執(zhí)行。通過執(zhí)行插件函數(shù)改變了WordPress的默認(rèn)功能。

例如,在WordPress將日志標(biāo)題和post發(fā)送到瀏覽器前,會(huì)檢查是否有插件函數(shù)注冊了名為“the_title”的“filter”鉤子。如果是,標(biāo)題文本將會(huì)傳送到注冊函數(shù)中,注冊函數(shù)返回值將會(huì)傳送到瀏覽器。所以,如果要在日志標(biāo)題中加入一些信息,可以通過這種方式實(shí)現(xiàn)。

另一個(gè)例子是名為“wp_footer”的“action”鉤子。在WordPress的HTML頁腳創(chuàng)建之前,會(huì)檢查是否有插件注冊了名為“wp_footer”的“action”鉤子,如果是依次執(zhí)行她們。

在Plugin API了解更多如何注冊“filter”和“action”類型的鉤子函數(shù),及WordPress提供了那些插件鉤子。如果你發(fā)現(xiàn)WordPress沒有提供自己想要的鉤子,你可以建議WordPress加入這個(gè)鉤子,很多建議WordPress都會(huì)采納。具體方法參考Reporting Bugs。

模版標(biāo)簽

另一個(gè)通過插件加入新功能的方法是建立自定義的模版標(biāo)簽Template Tags。如果有人想用你的插件,可以在他們的主題中添加這些標(biāo)簽,邊欄,文章內(nèi)容段,或者任意的只要是適合這插件的地方。例如,一個(gè)給文章添加地理位置的插件可能定義了一個(gè)模板標(biāo)簽函數(shù)geotag_list_states()放在邊欄上,這里列表了所有在文章中關(guān)聯(lián)的州的名稱,并且還帶有插件提供的到這些州的文檔頁的鏈接。

定義一個(gè)自定義模板標(biāo)簽,僅需要寫一個(gè)PHP函數(shù),并且在你插件主頁或者插件的主PHP文件中聲明一下。聲明函數(shù)的時(shí)候,為這個(gè)函數(shù)提供一個(gè)示例來明確如果想要應(yīng)用這個(gè)函數(shù)需要加主題中加些什么文件是個(gè)相當(dāng)棒的主意。

保存插件數(shù)據(jù)到數(shù)據(jù)庫

大多數(shù)WordPress插件需要站點(diǎn)的所有者或者是博客的用戶輸入信息,然后在對話過程中保存起來,以便過濾器函數(shù)(filter)、動(dòng)作函數(shù)(action)或者模板函數(shù)(Template)使用。這些信息必須保存在WordPress的數(shù)據(jù)庫中,以便下次使用。這里有兩種基本的方法用于保存插件的信息到數(shù)據(jù)庫里面。

使用WordPress的"option"機(jī)制(稍后會(huì)有介紹)。這種方法適合于保存一些相對小數(shù)量的靜態(tài)命名類數(shù)據(jù)--這類數(shù)據(jù)通常只需要網(wǎng)站的所有者在首次建立插件的時(shí)候輸入,以后很少改動(dòng)。

文章屬性post meta(a.k.a. Custom Fields),適用于那些只和個(gè)人文章、頁面或者附件有關(guān)的數(shù)據(jù)。

參看post_meta Function Examples, add_post_meta(), 以及與文章相關(guān)函數(shù)屬性post.fuction meta (a.k.a. Custom Fields).

自定義分類法。對于文章分類或者其他對象,比如用戶、評論,或者用戶可編輯列表中的數(shù)據(jù)名稱/值,可以考慮使用自定義分類法,尤其是當(dāng)你要訪問的所有的文章/對象與給定的分類法項(xiàng)目相關(guān)聯(lián)的時(shí)候。查閱 Custom Taxonomies

在數(shù)據(jù)庫中創(chuàng)建一個(gè)新的自定義數(shù)據(jù)表。這種方法適合于與個(gè)人文章、頁面、附件或者評論相關(guān)的數(shù)據(jù),這類數(shù)據(jù)會(huì)隨著時(shí)間越來越多,它們也沒有專有名稱。參看Creating Tables with Plugins來了解更多這類信息處理方法。

WordPress的選項(xiàng)機(jī)制

參看 Creating Options Pages 得到更多如何創(chuàng)建會(huì)自動(dòng)保存你選項(xiàng)數(shù)據(jù)的頁面。

WordPress擁有一個(gè)機(jī)制來保存,更新和檢索WordPress數(shù)據(jù)庫中專用,名稱類數(shù)據(jù)(即"options"機(jī)制)。選項(xiàng)值可以是字符,數(shù)組或PHP對象(他們會(huì)被"序列化",或在存儲前轉(zhuǎn)換為字符,并在被檢索時(shí)解開序列)。選項(xiàng)名稱是字符,并且它們必須是獨(dú)一無二的,這樣就不會(huì)與其它的WordPress插件相沖突。

它也通常被認(rèn)為是一個(gè)不錯(cuò)的主意,將你的插件使用的選項(xiàng)的數(shù)量降到最低。例如,考慮存儲序列化數(shù)組的10個(gè)元素作為一個(gè)單一的命名選項(xiàng),而不是存儲10個(gè)不同的命名選項(xiàng)。

這里是你的插件應(yīng)用WordPress option功能的主要函數(shù)。

add_option($name, $value, $deprecated, $autoload);

建立一個(gè)新的option; 如果這個(gè)option已經(jīng)存在則不做動(dòng)作.

$name

必須 (string). 要添加的option的名稱.

$value

可選(string), 默認(rèn)是空字符. option值會(huì)存在這里.

$deprecated

可選 (string), 不再被WordPress使用了,你可以不填或NULL 如果你希望應(yīng)用后面的$autoload參數(shù).

$autoload

可選, 默認(rèn)為 'yes' (enum: 'yes' or 'no'). 如果設(shè)置為 'yes' 那么這個(gè)option會(huì)被get_alloptions 函數(shù)自動(dòng)檢索.

get_option($option);

在數(shù)據(jù)庫中檢索option值.

$option

Required (string). 你想返回?cái)?shù)值的option名稱。你可以O(shè)ption Reference在找到一個(gè)隨著WordPress一起安裝好的默認(rèn)option表。

update_option($option_name, $newvalue);

更新或創(chuàng)建數(shù)據(jù)庫中的option值(注意 add_option 不是必須被調(diào)用,如果你不想作用 $deprecated 或$autoload 參數(shù)).

$option_name

必須(string). 要更新的option名.

$newvalue

必須. (string|array|object) option的新值.

管理面板

假定你的插件有一些選項(xiàng)(option)存儲于WordPress的數(shù)據(jù)庫中(參看上一節(jié)),你可能會(huì)想要一個(gè)主控面板來允許你的插件用戶查看和編輯選項(xiàng)值。實(shí)現(xiàn)這一目標(biāo)的方法闡述于Adding Administration Menus。

插件國際化

在你完成了你的插件的編寫工作之后,另一個(gè)需要考慮的問題(假設(shè)你準(zhǔn)備跟大家分享你的插件的話)就是將其國際化。國際化就是將你的軟件設(shè)置成能夠本地化的過程;本地化是將軟件中顯示的語言翻譯成其他語言的過程。Wordpress正在被全球的人們使用,所以全球化和本地化是他內(nèi)在的特性,這其中就包括了插件的本地化。

請注意,插件的語言文件是不會(huì)自動(dòng)加載。將此插件代碼,以確保加載的語言文件:

load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );

要簡單地取一個(gè)字符串使用 __('String name','your-unique-name'); 返回翻譯或者 _e('String name','your-unique-name'); 輸出翻譯。翻譯,然后進(jìn)入你插件的 /languages 文件夾。

我們十分希望你能夠?qū)⒛愕牟寮H化,這樣其他國家的用戶就可以在自己的本地使用它了。我們有一個(gè)關(guān)于國際化的綜合說明在I18n for WordPress Developers,這其中就包括了一個(gè)描述插件國際化的部分。

更新你的插件

本節(jié)介紹將插件托管到 之后必要的更新步驟。特別列出wordpress.org關(guān)于使用 Subversion(SVN)的一些細(xì)節(jié)。

假設(shè)你已經(jīng)提交你的插件到WordPress的插件庫,隨著時(shí)間的推移,你可能會(huì)發(fā)現(xiàn)需要將某些功能添加到插件或修正錯(cuò)誤。更新代碼,并將變化提交到你的插件主干(trunk),這些變化將是公開可見的,但僅限于在技術(shù)上志同道合的人通過SVN檢查你的插件。其他用戶通過網(wǎng)站或自己的WordPress插件管理下載都不會(huì)改變。

當(dāng)你準(zhǔn)備發(fā)布一個(gè)新版本的插件:

確保一切承諾和新版本的實(shí)際工作。注意所有版本的WordPress的插件支持,并嘗試與他們進(jìn)行測試。不要只是測試新功能,也確保你不小心打破一些插件的舊功能。

更改主要的PHP文件頭注釋中的版本號為新的版本號。

更改readme.txt文件的“Stable tag”字段中的版本號。

在readme.txt文件中添加一個(gè)新的小節(jié)“changelog“,簡要介紹與最后一個(gè)版本相比,新版本有什么改變。這將列出的插件頁面上的“更新日志”選項(xiàng)卡。

提交這些更改。

創(chuàng)建一個(gè)新的SVN標(biāo)記作為副本主干(trunk),遵循 this guide。

給系統(tǒng)一個(gè)運(yùn)行兩三分鐘,然后檢查你的插件,看看更新是否一切正常,以及WordPress 是否提示插件有更新(更新檢查可能有緩存,比如wordpress.org插件頁面或后臺安裝,所以這可能需要一些時(shí)間 —— 嘗試訪問“可用更新”頁面)。

故障排除:

wordpress.org插件的頁面上仍然列出舊版本。你是否更新了樹干文件夾'stable tag' 字段?只創(chuàng)建一個(gè)標(biāo)簽和或更新readme.txt文件是不夠的!

插件的頁面提供了一個(gè)zip文件的新版本,但按鈕仍然列出舊的版本號,而且WordPress 沒有裝更新通知。你是否已修改主要的PHP文件中“Version”版本號?

對于其他問題,請參考: The Plugins directory and readme.txt files

插件開發(fā)建議

最后這個(gè)部分是關(guān)于開發(fā)插件的一些建議。

WordPress插件的代碼應(yīng)該遵循 WordPress Coding Standards. 另外請同時(shí)參考Inline Documentation。

你的插件中所有函數(shù)的名稱都應(yīng)該與現(xiàn)存的Wordpress Core函數(shù),其他插件或主題的任何名稱不同?;谶@個(gè)原因,我們建議你在你的插件的所有函數(shù)的名稱之前加上一個(gè)你自己選擇的前綴,或者把你的插件的函數(shù)都寫在一個(gè)類里面(當(dāng)然這個(gè)類的名字也必須是唯一的)。

請不要把Wordpress數(shù)據(jù)庫表格前綴(通常是“wp_”)直接寫在你的插件里,請使用$wpdb-prefix 。

雖然數(shù)據(jù)庫的讀取相對便宜,但它的寫入是相當(dāng)昂貴的。數(shù)據(jù)庫十分擅長獲取信息并呈現(xiàn)給用戶,而且這些操作(通常)是非常迅速的。然而對數(shù)據(jù)庫進(jìn)行改動(dòng)就是一個(gè)非常復(fù)雜的過程了,而且需要使用更長的計(jì)算時(shí)間。因此,請盡量減少你對數(shù)據(jù)庫進(jìn)行寫入的次數(shù)。在你編寫程序的時(shí)候就做好所有的準(zhǔn)備,這樣就可以只在必須的時(shí)候再進(jìn)行寫入了。

在數(shù)據(jù)庫里只SELECT你需要的東西。盡管數(shù)據(jù)庫的讀取十分便捷,我們依然推薦你值查找真正需要的數(shù)據(jù),來盡量減少數(shù)據(jù)庫的負(fù)載。例如,如果你只想獲得表格的行數(shù),不要使用 SELECT * FROM, 因?yàn)檫@樣的話每一行中的所有數(shù)據(jù)都會(huì)被讀出,導(dǎo)致內(nèi)存的浪費(fèi)。同樣的,如果在插件中你只想獲得post_id和post_author,請只 SELECT 這兩項(xiàng)來減少數(shù)據(jù)庫的負(fù)載。記?。涸谀骋粋€(gè)操作的同時(shí)可能有其他上百個(gè)進(jìn)程需要使用數(shù)據(jù)庫,而數(shù)據(jù)庫和服務(wù)器都必須同時(shí)滿足所有這些進(jìn)程的需求。學(xué)習(xí)怎樣盡量減少你的插件對數(shù)據(jù)庫的使用可以避免對這些資源的濫用。

不要讓你的PHP出錯(cuò)。在你的wp_config.php文件中添加define('WP_DEBUG',true);,對你的所有函數(shù)進(jìn)行測試來確定是否有任何的錯(cuò)誤或者警告。有多少,就修復(fù)多少,直到再也不出現(xiàn)為止。

盡量不要直接調(diào)用

分享題目:極驗(yàn)wordpress 極驗(yàn)科技
瀏覽地址:http://chinadenli.net/article36/dogsgpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、服務(wù)器托管、網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、用戶體驗(yàn)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管