您当前的位置:首页 > 计算机 > 服务器 > 万维网络 > WordPress

WordPress 中短代码 Shortcode 详细介绍和使用

时间:12-14来源:作者:点击数:

WordPress Shortcode 指的是一些使用 ⌈⌋ 包含的短代码,WordPress 会识别这些短代码并根据短代码的定义输出为特定的内容,Shortcode API 这个功能是 WordPress 从 2.5 版本开始引入的,使用它可以给日志内容添加各种功能,并且 Shortcode 这个接口非常容易使用,并且功能非常强大。

为保证本文内容的完整性,防止短代码被 WordPress 自动翻译,本文中所有涉及到的方括号([])都使用 ⌈⌋ 代替。

Shortcode 类型

Shortcode API 支持几乎所有可能的组合形式:自关闭标签、开放标签、含有参数的标签等。

⌈mycode⌋
⌈mycode foo="bar" id="123" color="red" something="data"⌋
⌈mycode⌋Some Content⌈/mycode⌋
⌈mycode⌋<p><a href="http://www.cdsy.com.cn/">HTML Content</a>/p>/mycode
⌈mycode⌋Content another-shotcode more content/mycode
⌈mycode foo="bar" id="123"⌋Some Content/mycode

Shortcode 基本概念

首先你要去定义一个函数,来处理你定义的 Shortcode,和它的属性参数以及引用的内容。

function my_shortcode_func($attr, $content) {
  // $attr $key=>$value 的数组
  // $content 是 shortcode 中包含的字符串
  // 对 $attr 和 $content 进行处理
  // 返回预期的值
}

然后把自己定义的 Shortcode 和其处理函数管理起来,以便 ⌈mycode attr="value"⌋content⌈/mycode⌋ 能够按照预期执行。

add_shortcode('mycode', 'my_shortcode_func')

Shortcode 相关的函数

WordPress 定义了以下和 Shortcode 相关的函数:

  • add_shortcode('mycode', 'function_name'); // 定义一个新的 Shortcode
  • remove_shortcode('mycode'); // 移除一个 Shortcode
  • remove_all_shortcodes(); // 移除所有的 Shortcode
  • $return = do_shortcode($content); // 解析 $content 中的 Shortcode 并返回

一个简单的 Shortcode 例子

它定义 ⌈email⌋ 这个 Shortcode,将用户输入的 email地址转义成 HTML 实体,防止机器抓取,它的内容($content)就是邮箱地址,还定义了属性 $link,它的值为 1 时候,邮箱显示为可点击,详细代码如下:

function antispambot_shortcode_handler($atts, $content='') {
  extract( shortcode_atts( array(
    'link' => '0'
  ), $atts ) );
  if($link){
    return '<a href="mailto:'.antispambot($content,1).'" title="mail to '.antispambot($content,0).'">'.antispambot($content,0).'</a>';
  }else{
    return antispambot( $content,0);
  }
}
add_shortcode('email', 'antispambot_shortcode_handler');
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐