麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > 建站經驗 > 正文

WordPress開發中短代碼的實現及相關函數使用技巧

2024-04-25 20:43:50
字體:
來源:轉載
供稿:網友

其實實現短代碼很簡單,我們只需要用到 WordPress 里面的一個函數就可以搞定短代碼,外加自己的一個小函數,可以讓短代碼實現的輕松加愉快。

短代碼實現原理

就像往 WP 一些動作里加鉤子和過濾函數一樣,

短代碼只是經過封裝了的針對文章輸出內容的過濾器而已,

沒有像有一些主題功能說的那么震撼、那么高深。

下面來一個簡單例子:

function myName() {//短代碼要處理的函數

return "My name's XiangZi !";

}

//掛載短代碼

//xz為短代碼名稱

//即你在編輯文章時輸入[xz]就會執行 myName 函數

add_shortcode('xz', 'myName');

那么我們在文章中輸入[xz]就會得到

My name's XiangZi !

短代碼傳參

更高深一點的利用,我將會在后面的文章中講到,

今天只講一下,短代碼的傳參機制

高級一點的例子

function myName($array,$content) {

var_dump($array);

var_dump($content);

}

add_shortcode('xz', 'myName');

編輯文章時我們輸入:

[xz a="1" b="2" c="3"]這里是三個參數哦[/xz]

在函數中我們將得到:

//$array 是一個數組,

//大體結構如下

$array = array('a'=>'1','b'=>'2','c'=>'3');

//$content 是一個字符串

$content = '這里是三個參數哦';

shortcode_atts

不是因為搞短代碼插件,我也不會用到這個函數,

shortcode_atts 函數主要是用來設置短代碼中截獲變量的初始值。

這是一個很實用的函數,其實這個函數的真正是作用在數組上得,

因為我們從短代碼中截獲的參數都是數組形式的。

shortcode_atts 函數詳解

不要被函數名所疑惑,在 WordPress 里主要是用于設置短代碼參數的默認值,

如果我們將代碼提取出來,用在別的地方,該函數可以幫我們設置一個既得數組的默認值。

shortcode_atts 函數使用

這個函數使用起來很簡單。

shortcode_atts(array(

"url" => 'http://PangBu.Com'

), $url)

以上代碼的意思是,

將 $url 數組 鍵值為url的成員默認值設定為'http://PangBu.Com',

別的地方用處似乎不多,但對于一些超級懶人,有時候攬到總是忘記或是懶得設定數組的數值時,這個函數超好用。

shortcode_atts 函數聲明

/**

* Combine user attributes with known attributes and fill in defaults when needed.

*

* The pairs should be considered to be all of the attributes which are

* supported by the caller and given as a list. The returned attributes will

* only contain the attributes in the $pairs list.

*

* If the $atts list has unsupported attributes, then they will be ignored and

* removed from the final returned list.

*

* @since 2.5

*

* @param array $pairs Entire list of supported attributes and their defaults.

* @param array $atts User defined attributes in shortcode tag.

* @return array Combined and filtered attribute list.

*/

function shortcode_atts($pairs, $atts) {

$atts = (array)$atts;

$out = array();

foreach($pairs as $name => $default) {

if ( array_key_exists($name, $atts) )

$out[$name] = $atts[$name];

else

$out[$name] = $default;

}

return $out;

}

以上就是本文章的內容,希望對大家有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 狠狠色成色综合网 | 成av人在线观看 | 老女人碰碰在线碰碰视频 | 欧美精品激情视频 | 成人午夜视频免费在线观看 | 精品成人免费一区二区在线播放 | 欧美日本一 | 国产精品视频亚洲 | 久久金品 | 日本在线不卡一区二区三区 | 中文字幕在线播放视频 | 欧美激情 在线播放 | h网站在线观看 | 欧美日韩在线播放一区 | 国产免费一级淫片 | 黄色aaa视频 | 亚洲精品午夜电影 | 大学生一级毛片在线视频 | 日本大片在线播放 | 一区二区三区黄色 | 欧美黄色片一级 | 国产成人强伦免费视频网站 | 免费a视频在线观看 | 91资源在线观看 | 中国成人在线视频 | 免费一级特黄毛片视频 | 性欧美xxxx免费岛国不卡电影 | av电影在线观看网站 | 717影院理论午夜伦八戒秦先生 | 国产男人的天堂 | 羞羞视频.www在线观看 | 偿还的影视高清在线观看 | 久久99精品国产99久久6男男 | 看片一区 | 中文字幕免费看 | jizzjizz中国人少妇中文 | 欧美成a人片在线观看久 | 国产在线久 | 91短视频网址 | av在线中文| 久草在线观看福利视频 |