如何获取短码的$atts

时间:2014-07-02 作者:maverickcr

我有以下短代码:

[video width="400" height="400" mp4="http://xxxx.xxxx.xxx/uploads/2014/06/Facebook.mp4"][/video]
我需要让每个ATT都有一个变量,我的意思是,我需要这样的东西

$width = 400
$height = 400
$file = http://xxxx.xxxx.xxx/uploads/2014/06/Facebook.mp4
以前有人做过这样的事吗?(我是WP的新手)

2 个回复
最合适的回答,由SO网友:John Blackbourn 整理而成

直接从Shortcode API page on the Codex:

原始$atts数组可以包括用户指定的任何任意属性。

也就是说$atts 传递给shortcode回调函数的参数包含关联数组中的所有属性。

SO网友:helgatheviking

我想您正在寻找PHP函数extract()

function your_shortcode_callback( $atts ) {

    // compare incoming $atts against defaults and extract out 
    extract( shortcode_atts( array(
        \'width\'         => \'12\',
        \'height\'        => \'4\',
        \'file\'      => \'\'
    ), $atts ) );

    if( ! $file )
        return \'\';

    // do something with the $width, $height, and $file variables

}

结束

相关推荐

Gist shortcode is not working

我刚安装了一个全新的Wordpress用于测试,因为我打算刷新我当前的网站。我的一个要求是能够嵌入Gist中的代码。在Wordpress文档之后,较新版本附带了Gist的特定短代码:Gist Shortcode问题是它根本不起作用。我试着简单地将url粘贴在一行上,或者将其包裹在[要点]标签上,但没有任何效果。url只是在帖子中显示为原始文本。我知道有些插件提供了相同的功能,但我真的希望使用Wordpress的内置功能。我的网站已自动托管并安装在Azure网站上,运行PHP 5.4和Wordpress 3