亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

WordPress中的shortcode短代碼功能使用詳解

2024-05-04 23:46:16
字體:
來源:轉載
供稿:網友
WordPress中的短代碼能通過簡單的函數集合創建宏代碼來生成內容,方便函數調用,下面就讓我們一起來看一下WordPress中的shortcode短代碼功能使用詳解.
 

WordPress 從 2.5 的版本開始,增加了一個 shortcode (短代碼) API ,類似于 BBS 上的 BBCode , shortcode 也可以很方便的為文章或頁面增加功能,并且 shortcode 的比起 BBCode 更加靈活和強大。下面 Kayo 為大家介紹一下 shortcode 。

一.shortcode 簡介
shortcode 可以讓開發者通過以函數的形式創建宏內容來生成內容,或許這個概念看上去有點模糊,但實際上它是一個很簡單而實用的功能,只要會編寫基本的 PHP 函數,即可使用 shortcode ,下文會以實際的例子來說明 shortcode 的使用方法。

二.shortcode 形式
shortcode 支持封閉標簽和自閉(自動封閉)標簽,并且支持在標簽內使用參數,至于 shortcode 具體是何種形式,這就決定于開發者怎樣編寫這個 shortcode 了。

[myshortcode]Some Content[/myshortcode] // 封閉標簽[myshortcode] // 自閉標簽[myshortcode style="margin: 0px; padding: 0px; line-height: 25.2px; width: 660px; overflow: hidden; clear: both;">		
function myshortcode_function($atts, $content = null){ // $atts 代表了 shortcode 的各個參數,$content 為標簽內的內容  extract(shortcode_atts(array( // 使用 extract 函數解析標簽內的參數 "title" => '標題' // 給參數賦默認值,下面直接調用 $ 加上參數名輸出參數值 ), $atts)); // 返回內容 return '<div class="myshortcode">    <h3>'. $title .'</h3>    <p>     '. $content .'    </p>   </div>';} add_shortcode("msc", "myshortcode_function"); // 注冊該 shortcode,以后使用 [msc] 標簽調用該 shortcode

把上面的代碼添加到 functions.php 中,一個簡單的 shortcode 便創建好了,我們可以通過 [msc][/msc]標簽調用該 shortcode ,如:

[msc style="margin: 0px; padding: 0px; line-height: 25.2px; width: 660px; overflow: hidden; clear: both;">		
function myshortcode_function($atts, $content = null){ // $atts 代表了 shortcode 的各個參數,$content 為標簽內的內容  extract(shortcode_atts(array( // 使用 extract 函數解析標簽內的參數 "title" => '標題' // 給參數賦默認值,下面直接調用 $ 加上參數名輸出參數值 ), $atts)); // 返回內容 return '<div class="myshortcode">    <h3>'. $title .'</h3>    <p>     '. $content .'    </p>   </div>';} add_shortcode("msc", "myshortcode_function"); // 注冊該 shortcode,以后使用 [msc] 標簽調用該 shortcode

msc 即為短代碼名,以后在寫文章或頁面時可以直接使用 [msc][/msc] 標簽調用該短代碼,而 "myshortcode_function" 即為例子中的短代碼處理函數的名稱。下面重點分析短代碼處理函數。

五.短代碼處理函數

shortcode 處理函數是一個 shortcode 的核心, shortcode 處理函數類似于 Flickr(WordPress 過濾器),它們都接受特定參數,并返回一定的結果。 shortcode 處理器接受兩個參數, $attr 和 $content , $attr 代表 shortcode 的各個屬性參數,從本質上來說是一個關聯數組,而 $content 代表 shortcode 標簽中的內容。

如上面的例子,若在文章內作出調用,輸出一段歡迎語句:

[msc style="margin: 0px; padding: 0px; line-height: 25.2px; width: 660px; overflow: hidden; clear: both;">

array( 'title' => '歡迎')

在輸出結果時,可以直接使用 $參數名 的形式進行輸出,如例子中的情況即以 $title 輸出該屬性值。

六.shortcode_atts

shortcode_atts 是一個很實用的函數,它可以為你需要的屬性參數設置默認值,并且刪除一些不需要的參數。

shortcode_atts() 包含兩個參數 $defaults_array 與 $atts , $attr 即為屬性參數集合, $defaults_array 是代表需要設置的屬性默認值,舉個例子:

$result = shortcode_atts( array( 'title' => '新標題', 'description' => '描述內容'), $atts );$attr 依然為array( 'title' => '歡迎')

這時 $result 的結果為

array( 'title' => '新標題', 'description' => '描述標題')

'title' 由于在 $defaults_array 有不同的值,因此以這個新的值為準更新了 'title' ,同時也增加了 'description' 這個值。值得注意的是, shortcode_atts() 會過濾 $defaults_array 中沒有的屬性,假如 $attr 中還有一個 'ohter' 的屬性,那么 $result 的結果仍然是上面的結果,因為 $defaults_array 中并沒有 'other' 這個屬性。當然,這里說的值只是屬性的默認值,真正輸出的值還是 shortcode 調用時填寫的值。

七.進一步解析屬性與設置屬性默認值

extract() 函數用于進一步解析屬性并設置屬性默認值,其中一個功能是把各屬性參數值賦予給一個形如 "$參數名" 的變量保存起來(如例子中的 $title ),方便調用,使用該函數配合 shortcode_atts() 就可以很安全的輸出結果。這點的具體使用可以參見本文第一點“一.函數 add_shortcode”的例子。

另外,屬性名中的大寫字母在傳遞給處理函數前會先轉化為小寫字母,因此建議在編寫屬性名時直接使用小寫字母。



注:相關教程知識閱讀請移步到PHP教程頻道。
上一篇:XHProf報告字段含義的解析

下一篇:簡單理解PHP的面向對象編程方式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
2019中文字幕在线| 亚洲欧美资源在线| x99av成人免费| 91网站免费看| 亚洲精品网址在线观看| 91精品国产自产在线老师啪| 欧美性色视频在线| 国产99久久精品一区二区| 国产在线98福利播放视频| 亚洲人永久免费| 亚洲人成电影网站色www| 亚洲国产古装精品网站| 日韩一区二区福利| 一本色道久久88综合亚洲精品ⅰ| 亚洲福利在线观看| xvideos亚洲| 欧美一级视频在线观看| 日韩三级影视基地| 欧美又大又硬又粗bbbbb| 欧美亚洲日本黄色| 亚洲欧美www| 欧美国产日韩精品| 国产日韩换脸av一区在线观看| 亚洲自拍偷拍色图| 奇米4444一区二区三区| 91精品久久久久| 亚洲男人天堂久| 51精品在线观看| 日韩最新av在线| 亚洲精品综合精品自拍| 91精品久久久久久久久久入口| 午夜精品一区二区三区在线播放| 在线观看久久av| 亚洲自拍偷拍网址| 97成人精品区在线播放| 中文国产成人精品| 亚洲第一视频在线观看| 最近2019年好看中文字幕视频| 国产精品视频自拍| 亚洲成人动漫在线播放| 欧美另类老肥妇| 欧美午夜影院在线视频| 精品久久久久久亚洲国产300| 亚洲国产精品成人一区二区| 国产欧美中文字幕| 国产精品99久久久久久久久久久久| 亚洲激情 国产| 黑人与娇小精品av专区| 欧美一级大片在线观看| 国产香蕉精品视频一区二区三区| 国产精品v片在线观看不卡| 亚洲色图15p| 亚洲国产高清福利视频| 国产一区二区三区在线| 成人在线播放av| 欧美日韩视频在线| 久久青草福利网站| 成人综合国产精品| 在线丨暗呦小u女国产精品| 性色av一区二区三区免费| 日韩福利视频在线观看| 久久夜色精品国产欧美乱| 日韩成人在线视频观看| 亚洲欧美日韩一区二区三区在线| 91av在线国产| 国产91露脸中文字幕在线| 91免费福利视频| 亚洲美女激情视频| 茄子视频成人在线| 91久久精品日日躁夜夜躁国产| 国产69精品久久久久9| 色琪琪综合男人的天堂aⅴ视频| 国产精品爱啪在线线免费观看| 国产欧美日韩专区发布| 日韩在线播放视频| 久久精品人人爽| 伊人av综合网| 亚洲免费一级电影| 日韩精品日韩在线观看| 久久99亚洲精品| 欧美日韩国产精品| 国产精品网红福利| 日韩在线播放一区| 欧美国产视频日韩| 欧美亚洲第一区| 国产精品成人va在线观看| 6080yy精品一区二区三区| 国产精品一区二区久久久| 青青久久av北条麻妃海外网| 国产三级精品网站| 午夜精品久久久久久久99黑人| 亚洲va久久久噜噜噜| 亚洲男人天堂手机在线| 国产91免费观看| 91av中文字幕| 精品国产91久久久| 欧美国产日韩免费| 色爱av美腿丝袜综合粉嫩av| 日韩精品极品视频免费观看| 亚洲级视频在线观看免费1级| 亚洲tv在线观看| 国产精品女视频| 俺也去精品视频在线观看| 国产精品成人免费视频| 久久中文字幕在线视频| 97在线视频免费播放| 国产精品久久91| 韩国一区二区电影| 精品久久久久久久久久久久久| 琪琪亚洲精品午夜在线| 日韩美女免费线视频| 国产亚洲欧美一区| 国产精品久久99久久| xxx一区二区| 97婷婷涩涩精品一区| 国产91精品在线播放| 亚洲最新av在线网站| 国产精品大片wwwwww| 国产成人精品a视频一区www| 欧美日本国产在线| 欧美色道久久88综合亚洲精品| 国产拍精品一二三| 国产精品久久久久久久久借妻| 91在线无精精品一区二区| 亚洲欧美激情四射在线日| 亚洲精品一区中文| xxxxx成人.com| 久久久久久美女| 久久久久久免费精品| 成人国产精品日本在线| 国产噜噜噜噜久久久久久久久| 日韩中文字幕国产精品| 日韩欧美在线视频免费观看| yellow中文字幕久久| 欧美激情视频一区| 欧美在线视频网站| 欧美丰满片xxx777| 国产精品午夜一区二区欲梦| 国产a级全部精品| 欧美激情视频在线| 日韩a**站在线观看| 国产精品成人国产乱一区| 另类美女黄大片| 久久久久久中文| 亚洲高清福利视频| 国色天香2019中文字幕在线观看| 成人免费网站在线| 成人久久久久久久| 日本一区二区不卡| 亚洲奶大毛多的老太婆| 国产欧美久久久久久| 91香蕉嫩草神马影院在线观看| 日韩精品中文字幕在线| 亚洲精品欧美一区二区三区| 国产精品999| 欧美美女18p| 国产激情久久久久| 日韩欧美中文字幕在线观看| 亚洲精品日韩丝袜精品| 亚洲欧美激情另类校园| 91av在线免费观看视频| 国语自产偷拍精品视频偷| yw.139尤物在线精品视频| 亚洲国产私拍精品国模在线观看|