wordpress勾子 wpf 鉤子

WordPress怎么添加sidebar?

WordPress本身有提供一些常見的sidebar可供使用,并且有的主題或者插件均會提供相關(guān)的sidebar小工具使用,而如果需要添加新的小工具則需要開發(fā)。

目前創(chuàng)新互聯(lián)建站已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、橋西網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

如果是需要添加新的sidebar欄目,則需要在主題中通過WordPress提供的動作鉤子在functions.php文件中注冊sidebar,以及在合適的主題位置進(jìn)行調(diào)用,通過后臺添加就可以設(shè)置。

同時你可以參考當(dāng)前主題已有的側(cè)邊欄模仿操作,可以快速的添加。

如何在wordpress文章中添加js代碼

首先從網(wǎng)上下載出WordPress的插件Wp-syntax。

在編輯文章時,使用HTML的編輯方式插入以下代碼pre lang=”LANGUAGE” line=”0″//“l(fā)ine為1時表示顯示行號”/pre

中間插入你的代碼即可,LANGUAGE改為語言類型,例如php、java。line為0不顯示行號,為1時顯示

如何進(jìn)行wordpress的二次開發(fā)

WWordPress的二次開發(fā)分為兩個主要方面:主題開發(fā)和插件開發(fā)。

1.主題開發(fā)首先,了解WordPress主題結(jié)構(gòu)很重要。WordPress主題由一套PHP文件、CSS文件和圖像文件組成。你可以通過編輯這些文件來自定義主題,使其適合你需要的風(fēng)格和功能推薦使用wordPress官方提供的主題開發(fā)文檔作為參考,其中包括了詳細(xì)的步票和代碼示例。

2.插件開發(fā):插件是一系列的功能代碼,用于向WordPress添加新功能或改進(jìn)現(xiàn)有功能。在開發(fā)插件之前,你需要先確定你想要添加的功能以及實(shí)現(xiàn)方式推薦使用WordPress官方提供的插件開發(fā)文檔作為參考,其中包括了詳細(xì)的步票和代碼示例司時也要學(xué)會使用WordPress提供的API來操作WordPress系統(tǒng),例如:WP_Query (用于查詢數(shù)據(jù)庫) 、wp_enqueue script (用于加載JavaScript) 等。

總之,在進(jìn)行WordPress二次開發(fā)時,建議始終保持代碼結(jié)構(gòu)清晰易讀、注釋規(guī)范、避免出現(xiàn)與其他插件、主題沖突的問題,以確保你的開發(fā)工作能夠順利進(jìn)行并為用戶帶來良好的使用體驗(yàn)。

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

在開始之前,需要注意三件事情

I、給插件取一個個性化的名字,越個性化越好,以防和其他插件重名沖突。

II、代碼里面,一定要包含注釋,不為自己,也要為想修改你代碼的別人想想。

III、盡量用最新版的 WordPress 進(jìn)行開發(fā)和測試。

插件名稱和插件結(jié)構(gòu)

一般來說,都是在 wp-content\plugins 目錄下建立一個文件夾,文件夾名就是插件的名稱,我們插件名字為"copyright_plugin",文件結(jié)構(gòu)如下。

\wp-content\plugins\copyright_plugin下有copyright_plugin.php和readme.txt

這里的 readme.txt 文件中包含了一些插件的介紹,使用說明等信息,主要是提交到 WordPress 官方網(wǎng)站時候用到的,可以參考他們給的模板 ,另外還有插件截圖預(yù)覽的功能,需要另外添加圖片,但是我們現(xiàn)在是練習(xí),不需要提交到官網(wǎng),所以暫時先不涉及這些。

插件的核心

總的來說,插件的核心是兩個 function,用來添加 Hooks(中文譯為鉤子)

add_action ($hookname, $callbackfunction)

add_filter ($hookname,$callbackfunction)

這兩個方法相當(dāng)重要,幾乎所有的插件都要用到他們。

Actions,我理解就是 wordpress 核心代碼預(yù)留的一些特殊的切入點(diǎn),或者說是在執(zhí)行一些特定事件時候發(fā)生,例如文章發(fā)布時,或者訪客留言時觸發(fā)。

Filters,應(yīng)該就是 wordpress 執(zhí)行時,對數(shù)據(jù)傳輸過程的一種過濾機(jī)制,例如當(dāng)文章保存到數(shù)據(jù)庫的過程,或者文章從事數(shù)據(jù)庫中取出,展現(xiàn)到瀏覽器中的這個過程。

我們今天要制作的插件,應(yīng)該是用 Filters,因?yàn)槲覀円谖恼嘛@示在瀏覽器之前,在最后面加上一段字符竄,用來顯示版權(quán)信息,后面添加菜單項(xiàng)的時候,也要用到 Actions。

插件概要信息

用文本編輯器打開 copyright-plugin.php 文件,輸入如下信息:

?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description: 此插件將在文章正文最下面,顯示一行版權(quán)信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

?

保存好文件,然后登錄 WordPress 后臺,打開插件菜單,應(yīng)該就可以看到這個插件,已經(jīng)顯示在插件列表里面了,并且可以啟用這個插件試試,不過沒有任何效果,因?yàn)榈侥壳盀橹?,這個插件還沒有實(shí)現(xiàn)任何功能。

為插件實(shí)現(xiàn)功能

修改copyright_plugin.php

?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description: 此插件將在文章正文最下面,顯示一行版權(quán)信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

/* 此插件將在文章正文最下面,顯示一行版權(quán)信息 */

function display_copyright() {

return "p style='color:red'本站點(diǎn)所有文章均為原創(chuàng),轉(zhuǎn)載請注明出處!/p";

}

?

保存好這個文件,然后打開正在用的主題文件夾,打開index.php 文件夾,找到 get_template_part( 'content', get_post_format() ); 并在下面添加如下代碼

if(function_exists('display_copyright')) {

echo display_copyright();

}

function_exists 是判斷 display_copyright 函數(shù)是否存在,因?yàn)楫?dāng)插件停用的時候,主題代碼里面是找不到這個函數(shù)的,所以要判斷一下,防止出錯。

然后在 wordpress 后臺啟用該插件,再打開首頁看看效果吧!

至此,這段代碼,應(yīng)該可以勉強(qiáng)算是一個插件了。之所以說勉強(qiáng),是因?yàn)檫@個插件存在一個問題,需要手工去修改主題代碼,如果用戶換了主題的話,需要在新主題里面再次修改代碼,這個不好。

改良插件

還記得我們前面說過的 Hooks (鉤子)嗎,我們要開始用 Filter 鉤子了!

代碼修改copyright_plugin.php如下:

?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description: 此插件將在文章正文最下面,顯示一行版權(quán)信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

add_filter( 'the_content', 'display_copyright' );

/* 這個函數(shù)在日志正文結(jié)尾處添加一段版權(quán)信息,并且只在 首頁 頁面才添加 */

function display_copyright( $content ) {

if( is_home() )

$content = $content . "p style='color:red'本站點(diǎn)所有文章均為原創(chuàng),轉(zhuǎn)載請指明出處!/p";

return $content;

}

?

參看以上代碼,其中 the_content 是鉤子的名字,display_copyright 是回調(diào)函數(shù)名稱。這樣一來,只要啟用插件就可以實(shí)現(xiàn)功能,無需去修改主題了,請把剛才在index.php 文件中添加的代碼刪掉,然后啟用插件,看看效果吧,顯示效果應(yīng)該是一樣的,無論怎么換主題,還是會自動顯示版權(quán)信息。

is_home是判斷是不是主頁

更進(jìn)一步

至此一個真正的插件算是完成了。但是此插件將版權(quán)信息直接寫在代碼里,如果用戶想自定義版權(quán)信息的話,需要修改插件的源代碼,仍然不方便,所以此插件仍需改進(jìn)。其實(shí),我們可以在 WordPress 后臺中為插件單獨(dú)添加一個菜單和頁面,用戶可以在這里來自定義設(shè)置設(shè)置版權(quán)信息,信息可以保存在數(shù)據(jù)庫里面。

先附上完整代碼,后面會做說明

?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description: 此插件將在文章正文最下面,顯示一行版權(quán)信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

/* 注冊激活插件時要調(diào)用的函數(shù) */

register_activation_hook( __FILE__, 'display_copyright_install');

/* 注冊停用插件時要調(diào)用的函數(shù) */

register_deactivation_hook( __FILE__, 'display_copyright_remove' );

function display_copyright_install() {

/* 在數(shù)據(jù)庫的 wp_options 表中添加一條記錄,第二個參數(shù)為默認(rèn)值 */

add_option("display_copyright_text", "p style='color:red'本站點(diǎn)所有文章均為原創(chuàng),轉(zhuǎn)載請注明出處!/p", '', 'yes');

}

function display_copyright_remove() {

/* 刪除 wp_options 表中的對應(yīng)記錄 */

delete_option('display_copyright_text');

}

if( is_admin() ) {

/* 利用 admin_menu 鉤子,添加菜單 */

add_action('admin_menu', 'display_copyright_menu');

}

function display_copyright_menu() {

/* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function); */

/* 頁名稱,菜單名稱,訪問級別,菜單別名,點(diǎn)擊該菜單時的回調(diào)函數(shù)(用以顯示設(shè)置頁面) */

add_options_page('Set Copyright', 'Copyright Menu', 'administrator','display_copyright', 'display_copyright_html_page');

}

function display_copyright_html_page() {

?

div

h2Set Copyright/h2

form method="post" action="options.php"

?php /* 下面這行代碼用來保存表單中內(nèi)容到數(shù)據(jù)庫 */ ?

?php wp_nonce_field('update-options'); ?

p

textarea

name="display_copyright_text"

id="display_copyright_text"

cols="40"

rows="6"?php echo get_option('display_copyright_text'); ?/textarea

/p

p

input type="hidden" name="action" value="update" /

input type="hidden" name="page_options" value="display_copyright_text" /

input type="submit" value="Save" class="button-primary" /

/p

/form

/div

?php

}

add_filter( 'the_content', 'display_copyright' );

/* 這個函數(shù)在日志正文結(jié)尾處添加一段版權(quán)信息,并且只在 首頁 頁面才添加 */

function display_copyright( $content ) {

if( is_home() )

$content = $content . get_option('display_copyright_text');

return $content;

}

?

說明:

以下代碼自己要是在啟用插件時和停用插件時調(diào)用,注釋中已經(jīng)寫得很詳細(xì)了。

/* 注冊激活插件時要調(diào)用的函數(shù) */

register_activation_hook( __FILE__, 'display_copyright_install');

/* 注冊停用插件時要調(diào)用的函數(shù) */

register_deactivation_hook( __FILE__, 'display_copyright_remove' );

function display_copyright_install() {

/* 在數(shù)據(jù)庫的 wp_options 表中添加一條記錄,第二個參數(shù)為默認(rèn)值 */

add_option("display_copyright_text", "p style='color:red'本站點(diǎn)所有文章均為原創(chuàng),轉(zhuǎn)載請注明出處!/p", '', 'yes');

}

function display_copyright_remove() {

/* 刪除 wp_options 表中的對應(yīng)記錄 */

delete_option('display_copyright_text');

}

添加菜單和頁面的代碼如下:

if( is_admin() ) {

/* 利用 admin_menu 鉤子,添加菜單 */

add_action('admin_menu', 'display_copyright_menu');

}

function display_copyright_menu() {

/* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function); */

/* 頁名稱,菜單名稱,訪問級別,菜單別名,點(diǎn)擊該菜單時的回調(diào)函數(shù)(用以顯示設(shè)置頁面) */

add_options_page('Set Copyright', 'Copyright Menu', 'administrator','display_copyright', 'display_copyright_html_page');

}

至此,已經(jīng)可以在后臺看到菜單項(xiàng)了,但是點(diǎn)擊的話,還會出錯,因?yàn)檫€沒有添加對應(yīng)的頁面(如何自定義添加后臺菜單位置)

下面開始添加頁面,主要代碼如下:

function display_copyright_html_page() {

?

div

h2Set Copyright/h2

form method="post" action="options.php"

?php /* 下面這行代碼用來保存表單中內(nèi)容到數(shù)據(jù)庫 */ ?

?php wp_nonce_field('update-options'); ?

p

textarea

name="display_copyright_text"

id="display_copyright_text"

cols="40"

rows="6"?php echo get_option('display_copyright_text'); ?/textarea

/p

p

input type="hidden" name="action" value="update" /

input type="hidden" name="page_options" value="display_copyright_text" /

input type="submit" value="Save" class="button-primary" /

/p

/form

/div

?php

}

現(xiàn)在再去點(diǎn)擊剛才新加的菜單,可以顯示出來一個頁面了,我們可以在這里設(shè)置版權(quán)信息文本。

另外還有如下代碼要修改

/* 這個函數(shù)在日志正文結(jié)尾處添加一段版權(quán)信息,并且只在 首頁 頁面才添加 */

function display_copyright( $content ) {

if( is_home() )

$content = $content . get_option('display_copyright_text');

return $content;

}

將原來的靜態(tài)化文本,改成動態(tài)的,之所以要這么改,是因?yàn)槲覀円呀?jīng)將數(shù)據(jù)存到數(shù)據(jù)庫里面了,這里要從數(shù)據(jù)庫里面取出數(shù)據(jù)。

分享文章:wordpress勾子 wpf 鉤子
轉(zhuǎn)載注明:http://muchs.cn/article48/ddcihhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)用戶體驗(yàn)、小程序開發(fā)服務(wù)器托管、企業(yè)網(wǎng)站制作面包屑導(dǎo)航

廣告

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

外貿(mào)網(wǎng)站制作