您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
WordPress Shortcode使用方法详细介绍
胡睿2025-03-19WordPress教程已有人查阅
导读WordPress从2.5版本开始增加了一个类似BBCode标签的Shortcode API,可以使用它在日志的内容中来给日志内容添加各种功能。Shortcode这个接口非常容易使用,并且功能非常强大。
WordPress从2.5版本开始增加了一个类似BBCode标签的Shortcode API,可以使用它在日志的内容中来给日志内容添加各种功能。Shortcode这个接口非常容易使用,并且功能非常强大。
简单说 WordPress Shortcode指的是一些使用[]包含的短代码,WordPress会识别这些短代码并根据短代码的定义输出为特定的内容。Shortcode 类型
Shortcode API支持几乎所有可能的组合形式:自关闭标签,开放标签,含有参数的标签等。
首先你要去定义一个函数,来处理你定义的 Shortcode,和它的属性参数以及引用的内容。
WordPress 定义了以下和 Shortcode 相关的函数:
以我爱水煮鱼写的 Antispambot ShortCode 插件为例,内容就是邮箱地址,有个参数 $link 为 1 时候,把邮箱显示可点击,参数如下:
把下面的代码保存到你当前的主题的 functions.php,或者上传到插件目录下并激活。
这样就可以想把广告插在文章中的哪个位置,就能插在哪个位置了, 非常方便。在侧边栏 Widgets 中使用 Shortcode
Shortcode 很方便,但是只能用在日志内容中,那么如何在 WordPress 的侧边栏的 Widgets 中使用 Shortcode,在当前主题的 functions.php 中添加如下代码:
如果你想用在主题文件中使用名为 [my_shortcode] 的 Shortcode,你只需要按照下面的方式使用do_shortcode() 函数即可:
我们在使用 WordPress Shortcode API 开发插件的时候,有个比较麻烦的问题,就是 WordPress 会自动在 shortcode 内添加 br 或者 p 标签,这样可能会打乱你的原先预想的 HTML 结构和布局。
造成这个问题的原因是 WordPress 默认的日志内容处理流程中,wpautop(将回车转换成 p 或者 br 标签的函数)是在 Shortcode 前面运行的。所以我们的解决方案也是非常简单,改变它们执行的顺序,在当前主题的 functions.php 文件中添加:
简单说 WordPress Shortcode指的是一些使用[]包含的短代码,WordPress会识别这些短代码并根据短代码的定义输出为特定的内容。Shortcode 类型
Shortcode API支持几乎所有可能的组合形式:自关闭标签,开放标签,含有参数的标签等。
[mycode]
[mycode foo="bar" id="123" color="red" something="data"]
[mycode]Some Content[/mycode]
[mycode]<p><a href="http://example.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); // 应用 Shortcode 到内容而不输出
一个简单的 Shortcode 例子以我爱水煮鱼写的 Antispambot ShortCode 插件为例,内容就是邮箱地址,有个参数 $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');
使用 Shortcode 投放 Google Adsense 广告把下面的代码保存到你当前的主题的 functions.php,或者上传到插件目录下并激活。
<?php
/*
Plugin Name: Shorcode for Google Adsense
Plugin URI: http://blog.wpjam.com/m/shortcode-google-adsense/
Description: 使用 Shortcode 投放 Google Adsense 广告
Version: 0.1
Author: Denis
*/
add_shortcode('adsense', 'adsense_shortcode');
function adsense_shortcode($atts) {
extract(shortcode_atts(array(
'type' => '468x60',
), $atts));
switch ($type) {
case '468x60' :
return
//468x60 的广告代码
case '300x250' :
return
//300x250 的广告代码
}
}
然后你就可以通过撰写文章的时候,在相应的位置输入 [adsense] 你的 468×60 的广告代码(默认的广告代码),如果你想插入 300×250 的广告代码,在文章内容中插入 [adsense type="300x250"],当然你也可以扩展上面的代码增加更多广告的格式和类型。这样就可以想把广告插在文章中的哪个位置,就能插在哪个位置了, 非常方便。在侧边栏 Widgets 中使用 Shortcode
Shortcode 很方便,但是只能用在日志内容中,那么如何在 WordPress 的侧边栏的 Widgets 中使用 Shortcode,在当前主题的 functions.php 中添加如下代码:
add_filter('widget_text', 'do_shortcode');
然后你在 WordPress 后台 > 外观 > Widgets 界面添加一个文本 Widget,然后插入博客中经启用 shortcode 即可。在主题的文件中使用 Shortcode如果你想用在主题文件中使用名为 [my_shortcode] 的 Shortcode,你只需要按照下面的方式使用do_shortcode() 函数即可:
<?php echo do_shortcode("[my_shortcode]"); ?>
解决 Shortcode 中自动添加的 br 或者 p 标签我们在使用 WordPress Shortcode API 开发插件的时候,有个比较麻烦的问题,就是 WordPress 会自动在 shortcode 内添加 br 或者 p 标签,这样可能会打乱你的原先预想的 HTML 结构和布局。
造成这个问题的原因是 WordPress 默认的日志内容处理流程中,wpautop(将回车转换成 p 或者 br 标签的函数)是在 Shortcode 前面运行的。所以我们的解决方案也是非常简单,改变它们执行的顺序,在当前主题的 functions.php 文件中添加:
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);
这样调整顺序之后,你的 shortcode 里面的内容,就不会有自动添加的 p 或者 br 标签,但是如果 shortcode 中部分的内容你又需要一些 p 或者 br 标签用来换行的话,你需要自己手动在自己 shortcode 处理程序中添加 wpautop 来处理了。
function bio_shortcode($atts, $content = null) {
$content = wpautop(trim($content));
return '<div class="bio">' . $content . '</div>';
}
add_shortcode('bio', 'bio_shortcode');
本文标签:
很赞哦! ()
相关教程
- (响应式)wordpress模板VieuV4.5主题资讯自媒体博客源码
- (响应式)WordPress主题Ripro9.0博客免扩展二开版
- (自适应多语言)WordPress开源主题MirageV资讯个人博客源码
- (自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0
- WordPress主题模板JustNews资讯博客类源码V5.2.2
- (自适应)WordPress二次元博客主题Sakurairo
- 响应式WordPress简约博客主题Alt_Blog
- Wordpress博客新闻主题在线商店平台betheme 21.5.6版
- WordPress个人博客主题 - wp-Concise-v1.0免费下载
- WordPress主题模板主题巴巴/博客X主题源码免费下载
- MYcat实现wordpress库和shopxo库分库
- wordpress、Discuz产品部署示例
图文教程
WordPress维护站点临时关闭的实现方法
有时候,可能由于各种原因导致博客访问出错的情况,这时候我们开启维护模式,给出一个维护提示的页面。下面交给大家几种方法1、.maintenance法在WordPress根目录下新建一个名
删除后台标题中WordPress后缀的方法
WordPress后台标题(title)默认后缀显示-WordPress,如果想隐藏这个后缀,可以将下面代码添加到当前主题functions.php中,即可删除这个后缀:
本地环境打开WordPress很慢的原因
目前官方新版的wordpress安装后的确存在访问缓慢的问题,原因如下。1.加载了谷歌字体2.wordpress默认使用的gravartar头像,而不幸的是gravartar被X
wordpress安装方法步骤教程
第 1 步:下载 新版本的WordPress解压缩后,将WordPress文件夹中的所有文件上传到主机空间域的根目录。
相关源码
-
(自适应)工业机械设备产品介绍免费pbootcms源码下载本网站模板基于PbootCMS内核精心开发,为机械设备与工业产品制造企业量身打造。设计充分考量行业特性,突出产品展示与技术实力呈现查看源码 -
(自适应响应式)房产合同知识产权企业管理pbootcms模板下载本模板基于PbootCMS系统开发,为知识产权服务、法律咨询及企业合同管理等行业设计。采用严谨专业的布局风格,突出法律文书与知识产权服务行业特色,适合展示各类法律服务和知识产权相关内容。查看源码 -
(自适应)大气网络公司工作室个人作品展示网站模板免费下载基于PbootCMS内核开发的响应式网站模板,为网络技术服务类企业打造,具备高度可定制性。通过简洁现代的设计语言展现企业专业形象,后台数据实时同步机制确保多终端内容一致性,查看源码 -
(PC+WAP)房屋建造建筑工程房地产建材行pbootcms网站模板下载本模板基于PbootCMS内核开发,为房屋建造、建筑工程及房地产建材类企业设计。通过本模板可快速搭建具有行业特色的企业官网,只需替换文字与图片内容即可适配其他行业使用。查看源码 -
帝国cms7.5品牌连锁店招商加盟商机网站模版源码本模板为招商加盟、创业投资、品牌连锁等商业领域设计,采用帝国CMS7.5内核构建,整体风格简洁大气,突出商业信任感与专业度,适合各类招商加盟项目展示、品牌连锁店宣传等商业应用场景。查看源码 -
(自适应)建站广告公司工作室作品展示品牌策划设计pbootcms源码下载基于PbootCMS开发的创意服务展示系统,内置作品集展示、服务流程图等专业模块,预设客户案例、设计流程等创意行业专属栏目结构。查看源码
| 分享笔记 (共有 篇笔记) |

