激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

DEDECMS|帝國CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|蘋果CMS|極致CMS|CMS系統(tǒng)|

服務(wù)器之家 - 建站程序 - Wordpress - WordPress中的shortcode短代碼功能使用詳解

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

2021-01-20 17:06Kayo Lee Wordpress

WordPress中的短代碼能通過簡單的函數(shù)集合創(chuàng)建宏代碼來生成內(nèi)容,方便函數(shù)調(diào)用,下面就讓我們一起來看一下WordPress中的shortcode短代碼功能使用詳解.

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

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

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

?
1
2
3
4
5
[myshortcode]Some Content[/myshortcode] // 封閉標(biāo)簽
[myshortcode] // 自閉標(biāo)簽
[myshortcode id="codetool">

三.shortcode 例子
在使用 shortcode 前,首先必須在主題的 functions.php 文件中定義 shortcode ,例如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function myshortcode_function($atts, $content = null){ // $atts 代表了 shortcode 的各個參數(shù),$content 為標(biāo)簽內(nèi)的內(nèi)容
 
 extract(shortcode_atts(array( // 使用 extract 函數(shù)解析標(biāo)簽內(nèi)的參數(shù)
 "title" => '標(biāo)題' // 給參數(shù)賦默認(rèn)值,下面直接調(diào)用 $ 加上參數(shù)名輸出參數(shù)值
 ), $atts));
 // 返回內(nèi)容
 return '<div class="myshortcode">
    <h3>'. $title .'</h3>
    <p>
     '. $content .'
    </p>
   </div>';
}
 
add_shortcode("msc", "myshortcode_function"); // 注冊該 shortcode,以后使用 [msc] 標(biāo)簽調(diào)用該 shortcode

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

?

        1
        [msc id="codetool">

        在文章或頁面內(nèi)容中輸入上面的調(diào)用,可以在相應(yīng)的位置輸出一段歡迎語句,在 style.css 中定義相應(yīng)的 CSS ,即可為短代碼賦予樣式。

        Kayo 簡略的介紹了 WordPress 的短代碼(shortcode) 功能,主要是介紹了 shortcode 的主要概念和使用方法。在本文中, Kayo 將會更加詳細(xì)的介紹一下 shortcode 中較為重要的 API ,希望有助于各位開發(fā)較為復(fù)雜的 shortcode 。

        四.函數(shù) add_shortcode

        該函數(shù)用于注冊一個 shortcode ,它有兩個參數(shù):短代碼名與 shortcode 處理函數(shù)名,引用上文的例子:

        ?
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        function myshortcode_function($atts, $content = null){ // $atts 代表了 shortcode 的各個參數(shù),$content 為標(biāo)簽內(nèi)的內(nèi)容
         
         extract(shortcode_atts(array( // 使用 extract 函數(shù)解析標(biāo)簽內(nèi)的參數(shù)
         "title" => '標(biāo)題' // 給參數(shù)賦默認(rèn)值,下面直接調(diào)用 $ 加上參數(shù)名輸出參數(shù)值
         ), $atts));
         // 返回內(nèi)容
         return '<div class="myshortcode">
            <h3>'. $title .'</h3>
            <p>
             '. $content .'
            </p>
           </div>';
        }
         
        add_shortcode("msc", "myshortcode_function"); // 注冊該 shortcode,以后使用 [msc] 標(biāo)簽調(diào)用該 shortcode

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

        五.短代碼處理函數(shù)

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

        如上面的例子,若在文章內(nèi)作出調(diào)用,輸出一段歡迎語句:

        [msc php" id="highlighter_111994">

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

        在輸出結(jié)果時,可以直接使用 $參數(shù)名 的形式進(jìn)行輸出,如例子中的情況即以 $title 輸出該屬性值。

        六.shortcode_atts

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

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

        ?
        1
        2
        3
        4
        5
        6
        7
        $result = shortcode_atts( array(
         'title' => '新標(biāo)題',
         'description' => '描述內(nèi)容'
        ), $atts );
        $attr 依然為
         
        array( 'title' => '歡迎')

        這時 $result 的結(jié)果為

        ?
        1
        array( 'title' => '新標(biāo)題', 'description' => '描述標(biāo)題')

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

        七.進(jìn)一步解析屬性與設(shè)置屬性默認(rèn)值

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

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

        延伸 · 閱讀

        精彩推薦
        主站蜘蛛池模板: 国产一区二区三区高清 | 久久网国产精品 | 欧美视频一区二区三区在线观看 | 视频一区国产 | 91av在线免费观看 | 免费看国产 | 精品一区二区久久久久久按摩 | 黄色美女免费 | 久久视频精品 | 日韩视频―中文字幕 | 国产一区二区二 | 国产精品成人亚洲一区二区 | 精品在线观看一区二区 | 成人免费毛片网站 | 日本一区视频在线播放 | 一级黄色大片在线观看 | 国产精品入口夜色视频大尺度 | 国产精品片www48888 | 国产寡妇xxxxxxxx性开放 | 九九午夜 | 国产一级一区二区 | 西川av在线一区二区三区 | 国产高清成人久久 | wwwav国产 | 女人久久久www免费人成看片 | 青热久思思 | 一区二区三区四区国产精品视频 | 国产一级伦理片 | 九九视频精品在线观看 | 亚洲一区在线不卡 | 久久日韩 | 欧美性生交大片 | 美女被免费网站在线软件 | 毛片电影网址 | 色柚视频网站ww色 | 久久精品亚洲国产奇米99 | 国产精品久久久不卡 | 亚洲成年人免费网站 | 色综合视频 | 久久国产精品一区 | 久久国产精品久久久久久 |