真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

wordpress代碼插件 wordpress插件大全

如何開發(fā)一個WordPress插件

新建一個插件

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、商河ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的商河網(wǎng)站制作公司

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

名稱,文件和地方

插件名

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

插件文件

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

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

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

Readme文件

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

主頁

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

文件Headers

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

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

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

?php

/*

Plugin Name: 插件名

Plugin URI: 插件的介紹或更新地址

Description: 插件描述

Version: 插件版本,例如 1.0

Author: 插件作者名稱

Author URI: 插件作者的鏈接

License: A "Slug" license name e.g. GPL2

*/

?

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

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

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

版權(quán)信息

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

?php

/* Copyright 年份 作者名 (email : 你的郵箱)

This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2 of the License, or

(at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with this program; if not, write to the Free Software

Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

*/

?

開始編寫插件

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

WordPress插件鉤子

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

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

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

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

模版標(biāo)簽

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

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

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

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

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

文章屬性post meta(a.k.a. Custom Fields),適用于那些只和個人文章、頁面或者附件有關(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)的時候。查閱 Custom Taxonomies

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

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

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

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

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

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

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

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

$name

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

$value

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

$deprecated

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

$autoload

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

get_option($option);

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

$option

Required (string). 你想返回數(shù)值的option名稱。你可以O(shè)ption Reference在找到一個隨著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é)),你可能會想要一個主控面板來允許你的插件用戶查看和編輯選項(xiàng)值。實(shí)現(xiàn)這一目標(biāo)的方法闡述于Adding Administration Menus。

插件國際化

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

請注意,插件的語言文件是不會自動加載。將此插件代碼,以確保加載的語言文件:

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

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

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

更新你的插件

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

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

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

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

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

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

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

提交這些更改。

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

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

故障排除:

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

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

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

插件開發(fā)建議

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

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

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

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

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

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

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

盡量不要直接調(diào)用script和style標(biāo)記 —— 推薦使用 wp_enqueue_style() 和 wp_enqueue_script() 函數(shù)。他們幫助消除引用重復(fù)的腳本和樣式,以及引進(jìn)依賴的支持。

wordpress 插件怎么顯示代碼

Wordpress有很多的模板,每個人的審美觀不一樣,所選擇的模板也就不一樣了。模板畢竟是個人自己設(shè)置了,還是存在很多缺陷的。有很多模板里面沒有我們想要的選項(xiàng),這就需要我們自己通過安裝插件或者修改代碼來增加。下面講講我最近在做wordpress博客時遇到的問題,我安裝的博客模板里沒有文章瀏覽數(shù)量,我個人比較喜歡看到文章的瀏覽數(shù)量,這樣可以看出你這篇文章的受歡迎程度。為了解決這一問題,只好百度了,看到了很多方法,大致的看了一下也就只能改代碼和安裝插件。很多不得不提的是我們很多從事SEO工作的朋友并完全懂代碼,這樣的話有些需要修改代碼的就無從下手了。本人也不是很懂程序代碼這一塊,所以也是經(jīng)過很久的摸索才弄出來的,下面就跟大家分享一下,就算不懂代碼的朋友也能自己修改。方法一:安裝插件第一步:下載插件 WP-PostViews。第二步:點(diǎn)擊外觀選項(xiàng)卡下的編輯選項(xiàng)進(jìn)入主題編輯界面,選擇主題文件single.php文件進(jìn)行編輯;第三步:在single.php文件相應(yīng)位置調(diào)用顯示代碼:‘the_views’)) { the_views(); } ?第四步:提交更新。方法二:修改代碼第一步:在functions.php中添加以下代碼:function count_words($str){$words = 0;$str = eregi_replace(” +”, ”“, $str);$array = explode(”“, $str);for($i=0;$i 瀏覽第三步:提交保存假如想在首頁和文章歸檔頁都顯示瀏覽統(tǒng)計(jì)的話,就分別在archive.php(文章歸檔)和index.php(首頁模版)里填加以上代碼。看到上面的方法是不是很簡單啊,我們平時只要善于總結(jié)就會發(fā)現(xiàn)很多問題沒有我們想的那么困難。

wordpress怎么隱藏插件代碼

將下面的代碼添加到主題的 functions.php 即可:

/**

* 隱藏核心更新提示 WP 3.0+

* 來自

*/

add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );

/**

* 隱藏插件更新提示 WP 3.0+

* 來自

*/

remove_action( 'load-update-core.php', 'wp_update_plugins' );

add_filter( 'pre_site_transient_update_plugins', create_function( '$b', "return null;" ) );

/**

* 隱藏主題更新提示 WP 3.0+

* 來自

*/

remove_action( 'load-update-core.php', 'wp_update_themes' );

add_filter( 'pre_site_transient_update_themes', create_function( '$c', "return null;" ) );

以上代碼僅支持 WP 3.0+ 版本,如果你使用的是3.0以前的WordPress,請下載代碼中提到的插件。


標(biāo)題名稱:wordpress代碼插件 wordpress插件大全
URL網(wǎng)址:http://weahome.cn/article/dogcgpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部