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

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:41:56
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了WordPress開發中短代碼的實現及相關函數使用技巧,文中講到了add_shortcode函數和shortcode_atts函數的用法,需要的朋友可以參考下
 

其實實現短代碼很簡單,我們只需要用到 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;}
 


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精选久久 | 草久在线| 一级黄色片武则天 | 毛片av网| 羞羞色网站 | 深夜激情视频 | 精品国产乱码一区二区三区四区 | 国产乱淫av片免费网站 | av资源在线天堂 | 一级大片在线观看 | 精品亚洲网站 | 国产乱淫av一区二区三区 | 欧美性受ⅹ╳╳╳黑人a性爽 | 伦理三区| 大学生一级毛片在线视频 | 九色成人在线 | 精品成人国产在线观看男人呻吟 | 男人的天堂色偷偷 | 在线观看一区二区三区四区 | 欧美精品一区二区三区在线 | 久久综合狠狠综合久久 | 视频二区国产 | 国产美女一区二区在线观看 | 91麻豆精品国产91久久久点播时间 | 失禁高潮抽搐喷水h | 亚洲成人精品一区二区 | 国产精品视频二区不卡 | 国产免费中文字幕 | 国产一级淫片免费看 | 成人毛片100部免费观看 | 日本精品中文字幕 | 欧美a级一区二区 | 91精品国产99久久久久久红楼 | a视频在线看| 19禁国产精品福利视频 | 亚洲成人免费电影 | 成人国产精品色哟哟 | 91麻豆精品国产91久久久更新资源速度超快 | 日本视频免费观看 | 久久久久国产精品久久久久 | 三人弄娇妻高潮3p视频 |