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 title="example"] // 带有一个参数的自闭标签 [myshortcode]<p><a href="#"><span>内容</span></a></p>[/myshortcode] // 标签内能够填写文本或 HTML [myshortcode]Content [myshortcodesecond] more content[/myshortcodesecond] // 也能够嵌套应用标签
三.shortcode 例子
在应用 shortcode 前,首先必需在主题的 functions.php 文件中定义 shortcode ,例如:
function myshortcode_function($atts, $content = null){ // $atts 代表了 shortcode 的各个参数,$content 为标签内的内容 extract(shortcode_atts(array( // 应用 extract 函数解析标签内的参数 "title" => '题目' // 给参数赋默许值,上面间接调用 $ 加上参数名输入参数值 ), $atts)); // 前往内容 return '<p class="myshortcode"> <h3>'. $title .'</h3> <p> '. $content .' </p> </p>'; } add_shortcode("msc", "myshortcode_function"); // 注册该 shortcode,当前应用 [msc] 标签调用该 shortcode
把下面的代码增加到 functions.php 中,一个简略的 shortcode 便创立好了,咱们能够经过 [msc][/msc]标签调用该 shortcode ,如:
[msc title="欢送"]这是独立博客 Kayo's Melody ,欢送来到本博客[/msc]
在文章或页面内容中输出下面的调用,能够在相应的地位输入一段欢送语句,在 style.css 中定义相应的 CSS ,即可为短代码赋予款式。
Kayo 简单的引见了 WordPress 的短代码(shortcode) 性能,次要是引见了 shortcode 的次要概念和应用办法。在本文中, Kayo 将会愈加具体的引见一下 shortcode 中较为重要的 API ,心愿有助于各位开发较为复杂的 shortcode 。
四.函数 add_shortcode
该函数用于注册一个 shortcode ,它有两个参数:短代码名与 shortcode 解决函数名,援用上文的例子:
function myshortcode_function($atts, $content = null){ // $atts 代表了 shortcode 的各个参数,$content 为标签内的内容 extract(shortcode_atts(array( // 应用 extract 函数解析标签内的参数 "title" => '题目' // 给参数赋默许值,上面间接调用 $ 加上参数名输入参数值 ), $atts)); // 前往内容 return '<p class="myshortcode"> <h3>'. $title .'</h3> <p> '. $content .' </p> </p>'; } 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 title="欢送"]这是独立博客 Kayo's Melody ,欢送来到本博客[/msc]
当文章显示时, WordPress 会注册一切的 shortcode ,如下面的 [msc] ,若 shortcode 中有属性参数和内容, WordPress 会把它们别离进去并解析,而后传递给该 shortcode 的短代码解决函数,解决后以解决函数输入的后果替代短代码本来的内容显示在文章内。
这时属性参数会并解析会关联数组并传递给 $attr ,如下面的例子中 $attr 的值为如下的一个关联数组:
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”的例子。
另外,属性名中的大写字母在传递给解决函数前会先转化为小写字母,因而倡议在编写属性名时间接应用小写字母。
以上就是安达网络工作室关于《WordPress中的shortcode短代码功能使用详解》的一些看法。更多内容请查看本栏目更多内容!
置信很多站长都晓得并且曾经在应用WordPress自定义字段,很多插件也应用了这一性能。 自定义字段是一个十分...
帮网友小改了一下主题. 义务比拟简略, 只是为一个三栏主题增加对 Widget 的支持而已,就先从这次简略的案例开...
上面引见四种WordPress 显示文章摘要办法: 一、应用WordPress自带摘要性能 我目前另一WordPress博客就是应...
本文实例讲述了WordPress屏蔽评论中链接地址的办法。分享给大家供大家参考。详细剖析如下: 应用WordPress做...
由于偶然加一些站外链接,普通都是nofollow,独自写入很费事,所以揣摩从编辑器动手,经过这个插件(http:/...
WordPress模板的定义十分不便,然而在定制模板之前,咱们有必要晓得WordPress的模板层次,理解WordPress是如...