WordPress 中短代码 Shortcode 详细介绍和使用
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.wenjiangs.com/">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');
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论