gpt4 book ai didi

WordPress中的shortcode短代码功能使用详解

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章WordPress中的shortcode短代码功能使用详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

WordPress 从 2.5 的版本开始,增加了一个 shortcode (短代码) API ,类似于 BBS 上的 BBCode , shortcode 也可以很方便的为文章或页面增加功能,并且 shortcode 的比起 BBCode 更加灵活和强大。下面 Kayo 为大家介绍一下 shortcode .

一.shortcode 简介 shortcode 可以让开发者通过以函数的形式创建宏内容来生成内容,或许这个概念看上去有点模糊,但实际上它是一个很简单而实用的功能,只要会编写基本的 PHP 函数,即可使用 shortcode ,下文会以实际的例子来说明 shortcode 的使用方法.

二.shortcode 形式 shortcode 支持封闭标签和自闭(自动封闭)标签,并且支持在标签内使用参数,至于 shortcode 具体是何种形式,这就决定于开发者怎样编写这个 shortcode 了.

?
1
2
3
4
5
[myshortcode]Some Content[/myshortcode] // 封闭标签
[myshortcode] // 自闭标签
[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 的各个参数,$content 为标签内的内容
 
  extract(shortcode_atts(array( // 使用 extract 函数解析标签内的参数
  "title" => '标题' // 给参数赋默认值,下面直接调用 $ 加上参数名输出参数值
  ), $atts));
  // 返回内容
  return '<div class="myshortcode">
     <h3>' . $title . '</h3>
     <p>
      ' . $content . '
     </p>
    </div>' ;
}
 
add_shortcode( "msc" , "myshortcode_function" ); // 注册该 shortcode,以后使用 [msc] 标签调用该 shortcode

把上面的代码添加到 functions.php 中,一个简单的 shortcode 便创建好了,我们可以通过 [msc][/msc]标签调用该 shortcode ,如:

?
1
[msc id="codetool">

在文章或页面内容中输入上面的调用,可以在相应的位置输出一段欢迎语句,在 style.css 中定义相应的 CSS ,即可为短代码赋予样式.

Kayo 简略的介绍了 WordPress 的短代码(shortcode) 功能,主要是介绍了 shortcode 的主要概念和使用方法。在本文中, Kayo 将会更加详细的介绍一下 shortcode 中较为重要的 API ,希望有助于各位开发较为复杂的 shortcode .

四.函数 add_shortcode 。

该函数用于注册一个 shortcode ,它有两个参数:短代码名与 shortcode 处理函数名,引用上文的例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function myshortcode_function( $atts , $content = null){ // $atts 代表了 shortcode 的各个参数,$content 为标签内的内容
 
  extract(shortcode_atts( array ( // 使用 extract 函数解析标签内的参数
  "title" => '标题' // 给参数赋默认值,下面直接调用 $ 加上参数名输出参数值
  ), $atts ));
  // 返回内容
  return '<div class = "myshortcode" >
     <h3> '. $title .' </h3>
     <p>
      '. $content .'
     </p>
    </div>';
}
 
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 php" id="highlighter_111994"> 。

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

在输出结果时,可以直接使用 $参数名 的形式进行输出,如例子中的情况即以 $title 输出该属性值.

六.shortcode_atts 。

shortcode_atts 是一个很实用的函数,它可以为你需要的属性参数设置默认值,并且删除一些不需要的参数.

shortcode_atts() 包含两个参数 $defaults_array 与 $atts , $attr 即为属性参数集合, $defaults_array 是代表需要设置的属性默认值,举个例子:

?
1
2
3
4
5
6
7
$result = shortcode_atts( array (
  'title' => '新标题' ,
  'description' => '描述内容'
), $atts );
$attr 依然为
 
array ( 'title' => '欢迎' )

这时 $result 的结果为 。

?
1
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
  • 延伸 · 阅读

    • 2021-01-22详解WordPress中添加友情链接的方法
    • 2021-01-16WordPress中设置Post Type自定义文章类型的实例教程
    • 2021-01-15CentOS下搭建PHP环境与WordPress博客程序的全流程总
    • 2021-01-14Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践
    • 2021-01-10在CentOS系统上从零开始搭建WordPress博客的全流程
    • 2021-01-03调用WordPress函数统计文章访问量及PHP原生计数器
    精彩推荐
    • WordpressWordPress中非插件实现嵌套回复效果的方法

      WordPress中非插件实现嵌套回复效果的方法

      Wordpress博客从2.7版本就自带了嵌套回复功能,但是很多主题都没有添加该效果,大部分博主也用博客插件来实现该功能,可博客插件的嵌套回复的内容样式... 。

      博客吧 275 2019-10-06
    • Wordpresswp-Syntax wordpress高亮插件使用方法

      wp-Syntax wordpress高亮插件使用方法

      前些天在博客上安装了这款 wp-Syntax 插件,在使用的过程中遇到了不少问题,经过不断的尝试都一一解决。今天把自己的学习过程给大家做下汇总,希望可... 。

      wordpress教程网 548 2019-09-23
    • Wordpresswordpress给文章生成二维码的方法

      wordpress给文章生成二维码的方法

      这篇文章主要为大家介绍了wordpress给文章生成二维码的方法,涉及google接口的调用技巧以及本地缓存的应用技巧,具有一定的参考借鉴价值,需要的朋友可以参... 。

      WordPress大学 426 2019-09-07
    • WordpressWordPress打开速度非常慢的解决办法

      WordPress打开速度非常慢的解决办法

      WordPress博客程序是当前最为成熟的博客程序之一,也是全球使用人数最多的博客程序,而随着您博客的小工具越来越多,插件越加越多,随之而来的就是您... 。

      WordPress大学 223 2019-09-27
    • Wordpresswordpress 博客优化历程(速度)

      wordpress 博客优化历程(速度)

      自从换了域名,换了主题以后,我一直努力令博客的浏览体验更加好,但因此也挂载了大量的JS文件,页面的载入速度一度变得非常缓慢。于是优化就迫在... 。

      wordpress教程网 272 2019-10-07
    • WordpressWordPress给博客标题加上页码的方法

      WordPress给博客标题加上页码的方法

      这篇文章主要为大家介绍了WordPress给博客标题加上页码的方法,可通过修改模板代码实现这一功能,是进行网站优化非常实用的技巧,需要的朋友可以参考下... 。

      WordPress建站网 394 2019-09-09
    • WordpressWordPress中发送HTML邮件的方法

      WordPress中发送HTML邮件的方法

      WordPress发送邮件的函数是wp_mail(),默认以纯文本(text/plain)格式发送,通过wp_mail()提供的filter函数可以更改为以HTML格式发送,也可以通过制定wp_mail()的第... 。

      WordPress建站网 394 2019-09-27
    • WordpressWordpress自动提取内容中第一张图片作缩略图的方法

      Wordpress自动提取内容中第一张图片作缩略图的方法

      这篇文章主要为大家介绍了Wordpress自动提取内容中第一张图片作缩略图的方法,可通过在模板中添加自定义函数实现该功能,是非常实用的技巧,需要的朋友可... 。

      Wordpress之家 331 2019-09-07

    最后此篇关于WordPress中的shortcode短代码功能使用详解的文章就讲到这里了,如果你想了解更多关于WordPress中的shortcode短代码功能使用详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com