我的代码制作图像短码是正确的吗

时间:2017-07-26 作者:Owaiz Yusufi

我正在创建我的图像快捷码,但我是否以正确的方式进行。

function header_image( $atts ) {
    // [hero-banner img_src="" add_img_class="" alt="" ][/hero-banner]
    $atts = shortcode_atts( 
        array(
            \'image_src\' => \'\',
            \'alt\' => \'my_image\',
            \'add_img_class\' => \'\',
            \'id\' => \'\'
        ), $atts, \'hero-banner\'
    );

    // do shortcode actions here
    $output = "<span class=\\"dr-banner\\">
                <img src=\\"".$atts[\'image_src\']."\\" class=\\"img-responsive ".$atts[\'add_img_class\']."\\" alt=\\"".$atts[\'alt\']."\\" />
            </span>";

    // return html
    return $output;
}
add_shortcode( \'hero-banner\',\'header_image\' );
我有一个困惑,那就是:

$atts 是一个默认值保持器,如果我想更改image alt属性或image source,那么我的代码是对的还是错的

1 个回复
最合适的回答,由SO网友:Sonali 整理而成

您的代码是正确的,只需更改$atts变量。

// if you want to add image, alt attribute on shortcode statically
$atts = shortcode_atts( 
    array(
        \'image_src\' => \'\',
        \'alt\' => \'\',
        \'add_img_class\' => \'\',
        \'id\' => \'\'
    ), $atts, \'hero-banner\'
);


// if you pass image and alt attribute dynamically
$atts = shortcode_atts( 
    array(
        \'image_src\' => \'dynamic data\',
        \'alt\' => \'dynamic data\',
        \'add_img_class\' => \'\',
        \'id\' => \'\'
    ), $atts, \'hero-banner\'
);
当我们使用带有关闭动态参数的内容时,会用到它。请查找以下示例

 function wrap_content_shortcode_callback($atts, $content, $tag){
      $output = \'<span style="font-size: 120%;">\' . $content . \'</span>\';
      return $output;
 }
 add_shortcode(\'wrap_shortcode\',\'wrap_content_shortcode_callback\');
 //use shortcode like this: [wrap_shortcode]test123[/wrap_shortcode]

结束

相关推荐

DO_SHORTCODE中的快捷码标签不起作用

我正在创建一个短代码,作为插件的一部分,我正在调用这样的模板:do_shortcode(\'[shortcodename title=\"monkeys\"]\'); 函数如下所示:function shortcodename_function($atts = []) { // stuff } 在函数内部,我试图在运行shortcode\\u atts之前打印出$atts,以确认它们在那里,但我什么也没有得到。这就像是完全忽略了我应用的属性。一旦我运行shortcode