需要→属性的快捷代码帮助

时间:2017-08-08 作者:The WP Intermediate

function the_image($atts) {
    extract(shortcode_atts(array(
        "to" => \'https://pics.wikifeet.com/Melania-Trump-Feet-720891.jpg\'
    ), $atts));
    return \'<div class="class1">\';
        return \'<img class="class2" src="\'.$to.\'" alt="The First Caption" width="100%" height="auto">\';
        return \'<i class="fa fa-expand" aria-hidden="true"></i>;\'
    return \'</div>\';
}
add_shortcode("the_image", "the_image");
如果你认为我错过了任何卫生处理,请帮助我。其次

我应该如何在快捷码中打印属性我的意思是图像链接需要用户输入。我已将默认值→ "to" =>\'https://pics.wikifeet.com/Melania-Trump-Feet-720891.jpg\'

但这需要改变。请引导我。

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

您将分别返回每一行。它只会输出第一行return 停止函数的执行。相反,通过连接将每一行添加到字符串中.=:

function wpse_276152_image_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        \'to\' => \'https://pics.wikifeet.com/Melania-Trump-Feet-720891.jpg\'
    ), $atts );

    $output = \'<div class="class1">\';
    $output .= \'<img class="class2" src="\' . $atts[\'to\'] . \'" alt="The First Caption" width="100%" height="auto">\';
    $output .= \'<i class="fa fa-expand" aria-hidden="true"></i>\';
    $output .= \'</div>\';

    return $output;
}
add_shortcode( \'the_image\', \'wpse_276152_image_shortcode\' );
.= 就是说$output = $output . \' string to add\'.

还请注意我所做的其他一些更改:

  1. the_image 对于函数而言,名称过于泛型。你越来越容易遇到冲突问题。请注意,函数名和短代码不需要相同extract(). 随着代码变得越来越复杂make maintenance needlessly difficult.

结束

相关推荐

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

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