$atts = shortcode_atts( array(
\'path\' => \'https://s.w.org/about/images/logos/wordpress-logo-simplified-rgb.png\'
), $atts);
以上是短代码的一部分。在Wordpress文本编辑器中,此短代码如下所示→
[theimg path=""]
倒逗号需要有这个的图像URL→
[theimg路径=”;https://geordiebiker.files.wordpress.com/2011/10/audrey-marnay-longchamp-commando-drive-side.jpg";]
问题:
当我们在文本编辑器的视觉模式下,将图像URL放在那些逗号中时,它实际上会提取图像,而不是URL。我做了一个
gif to explain this.
我相信这个缺失的清理,如esc\\U url等,但我不知道确切的修复方法。
Update:如果我只在短代码中输入URL,编辑器会添加<img src="">
标签?
P、 S。→ 该图像超过2MB,无法在此上载。
2018年1月11日更新
$output = \'<div class="someclasss">\';
$output .= \'<img class="someclass1" src="\'.$atts[\'simg\'].\'" alt="\' .$caption. \'" >\';
$output .= \'<i class="fa fa-expand" aria-hidden="true"></i>\';
$output .= \'</div>\';
return $output;
在浏览器中渲染输出的上述方式。
最后,在浏览器中,它将显示如下:
<img src="<img src="http://www.qygjxz.com/data/out/84/6074239-free-image.jpg" />">
我们有没有办法确保
src="\'.$atts[\'path\'].\'"
本部分:
.$atts[\'simg\'].
只获取URL并删除所有内容?
SO网友:Johansson
此行为很可能是故意的,可以禁用。然而,它也可能破坏其他功能。有几个变通方法,你可以试试。
断开图像URL和文件名,可以通过以下方式将参数传递给快捷码:
[theimg
path="https://s.w.org/about/images/logos/"
filename="wordpress-logo-simplified-rgb.png"
]
这将阻止编辑器解析URL,但您可以获取这些值并将它们放在PHP代码中。
使用preg_match()
那么,编辑器会将URL转换为完整的HTML图像吗?好吧,让他做吧。在编辑器将完整图像传递给快捷代码后,我们可以使用
preg_match
在我们的PHP代码中提取URL:
preg_match( \'@src="([^"]+)"@\' , $img, $match );
这将分析
$img
内容并返回
src
的
<img>
标签