WordPress以短码显示图像链接

时间:2013-01-04 作者:RogerNobrega

我有一个快捷代码,当您使用其中的图像url时,它会显示图像。

function image_code($atts, $content = null) {
    return \'<img src="\'.$content.\'" class="user-imgs"/>\';
}
add_shortcode(\'img\', \'image_code\');
所以当我使用这样的代码时:

[img]https://www.google.com.br/images/srpr/logo3w.png[/img]
它只显示如下图像:(在css中,我已将.user imgs设置为最大宽度600px)

<img src="https://www.google.com.br/images/srpr/logo3w.png">
但我想显示一个指向完整图像的链接,如下所示:

<a href="https://www.google.com.br/images/srpr/logo3w.png"><img src="https://www.google.com.br/images/srpr/logo3w.png">
如何检索短代码中使用的图像url并将其用作原始图像的链接?

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

您可以重用$content 参数:

function image_code($atts, $content = null) {
    $url = esc_url( $content );
    return "<a href=\'$url\'><img src=\'$url\' class=\'user-imgs\' /></a>";
}
如果要使用其他URL,请将URL作为参数传递:

function image_code($atts, $content = null) {

    $args = shortcode_atts( array( \'url\' => FALSE ), $atts  );
    $img  = esc_url( $content );
    $url  = $args[\'url\'] ? esc_url( $args[\'url\'] ) : $img;

    return "<a href=\'$url\'><img src=\'$img\' class=\'user-imgs\' /></a>";
}

结束