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

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

wordpress新項(xiàng)目 wordpress創(chuàng)建

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

新建一個(gè)插件

創(chuàng)新互聯(lián)成立于2013年,先為鐵西等服務(wù)建站,鐵西等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為鐵西企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

這個(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文件. 文件格式參見.

主頁(yè)

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

文件Headers

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

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

插件的主文件頂部必須包括一個(gè)標(biāo)準(zhǔn)插件信息頭。WordPress通過標(biāo)準(zhǔn)信息頭識(shí)別插件的存在,并把她加入到控制面板的插件管理頁(yè)面,這樣插件才能激活,載入插件,并運(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才能識(shí)別你的插件。其他信息將顯示在控制面板插件管理頁(yè)面中。標(biāo)準(zhǔn)插件信息對(duì)各行順序沒有要求。

這樣的升級(jí)機(jī)制能夠正確地讀出你的插件版本,建議你選擇一個(gè)格式的版本號(hào),不同版本之間,并堅(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)在是時(shí)候讓你的插件能干些什么了。這部分內(nèi)容包括插件開發(fā)的一般思路,而且介紹了開發(fā)插件需要做哪些工作。

WordPress插件鉤子

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

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

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

在Plugin API了解更多如何注冊(cè)“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)的州的名稱,并且還帶有插件提供的到這些州的文檔頁(yè)的鏈接。

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

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

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

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

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

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

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

在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新的自定義數(shù)據(jù)表。這種方法適合于與個(gè)人文章、頁(yè)面、附件或者評(píng)論相關(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ù)的頁(yè)面。

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

它也通常被認(rèn)為是一個(gè)不錯(cuò)的主意,將你的插件使用的選項(xiàng)的數(shù)量降到最低。例如,考慮存儲(chǔ)序列化數(shù)組的10個(gè)元素作為一個(gè)單一的命名選項(xiàng),而不是存儲(chǔ)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ù)庫(kù)中檢索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ù)庫(kù)中的option值(注意 add_option 不是必須被調(diào)用,如果你不想作用 $deprecated 或$autoload 參數(shù)).

$option_name

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

$newvalue

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

管理面板

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

插件國(guó)際化

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

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

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

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

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

更新你的插件

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

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

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

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

更改主要的PHP文件頭注釋中的版本號(hào)為新的版本號(hào)。

更改readme.txt文件的“Stable tag”字段中的版本號(hào)。

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

提交這些更改。

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

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

故障排除:

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

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

對(duì)于其他問題,請(qǐng)參考: The Plugins directory and readme.txt files

插件開發(fā)建議

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

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

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

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

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

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

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

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

WordPress 發(fā)布新文章時(shí)候 怎么添加圖1的項(xiàng)目 如圖:圖1請(qǐng)告訴我這個(gè)怎么添加上》? 圖2是前臺(tái)效果 謝謝

你需要了解WP的開發(fā)知識(shí),用百度搜索add_meta_box即可了解相關(guān)開發(fā)

wordpress怎樣搭建網(wǎng)站

Wordpress 是 PHP 和 MySQL 結(jié)合的內(nèi)容管理系統(tǒng)。

可以搭建很多類型網(wǎng)站:

個(gè)人博客

WordPress 最早的定位就是個(gè)人博客,可以很輕松的放上內(nèi)容,進(jìn)行分享內(nèi)容。

企業(yè)網(wǎng)站

因?yàn)?WordPress 的安全性,很多人就用來搭建企業(yè)網(wǎng)站,畢竟很多功能都可以通過插件來實(shí)現(xiàn),搭建起來就很輕松。朗沃教育的官網(wǎng)就是。

BBS論壇--社交網(wǎng)絡(luò)

創(chuàng)建自己的社交網(wǎng)站就像在WordPress中設(shè)置BuddyPress這樣的插件一樣簡(jiǎn)單。

購(gòu)買型網(wǎng)站

使用WordPress的一種常用方法是創(chuàng)建一個(gè)在線商店。

WordPress使創(chuàng)建一個(gè)在線商店變得非常容易。得益于WooCommerce這樣的插件

創(chuàng)辦視頻網(wǎng)站

可以使用WooCommerce HTML5視頻插件將視頻添加到的在線商店產(chǎn)品描述中。

基本上所有的網(wǎng)站都可以用 WordPress 來搭建,很多功能都可以通過插件來實(shí)現(xiàn)。

Wordpress 最大的優(yōu)點(diǎn)就是開源、插件多,很多功能都可以通過插件實(shí)現(xiàn)。

這既是 WordPress 的后臺(tái)。

朗沃教育 - WordPress 搭建的網(wǎng)站后臺(tái)

WordPress 添加多個(gè)分類項(xiàng)目

1開啟自定義欄目模塊,進(jìn)入后臺(tái)后,點(diǎn)擊右上角的顯示選項(xiàng),在自定義欄目前打勾,確定,開啟自定義欄目功能。

2使用自定義欄目設(shè)置你的參數(shù)。填寫自定義欄目中的名稱,以及參數(shù)的值,比如我想加一個(gè)參數(shù)為高度:3米,那么你可以填他的名稱為p_height(也可以是中文高度,親測(cè),可以中文),值為3米,保存。

3前臺(tái)頁(yè)面調(diào)用自定義欄目的數(shù)值,代碼如下:

id, "p_height",true);?

其中p_height與第二點(diǎn)中設(shè)置的一致,否則是不會(huì)顯示的。

4刷新你的前臺(tái)頁(yè)面,效果出來了,顯示你的值:3米


網(wǎng)站欄目:wordpress新項(xiàng)目 wordpress創(chuàng)建
當(dāng)前URL:http://weahome.cn/article/ddsided.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部