快捷码在图片源源集合标签中不起作用

时间:2021-03-22 作者:user203728

我的WP插件中有:

<picture>
    <source srcset="[bloginfo key=\'template_url\']/images/image.webp" type="image/webp">
    <img src="[bloginfo key=\'template_url\']/images/image.png">
</picture>
在浏览器中,img src 代码正常,但打开srcset 它仍然说[bloginfo key=\'template_url\']. 关于shortcode和srcset属性,我缺少什么,所以它将以正确的方式显示?

1 个回复
SO网友:user203728

我用一个生成整个标记的新短代码来解决这个问题。像这样:

function generate_image_tag($atts) {
    $atts = shortcode_atts( array(
        \'img\' => \'\',
        \'title\' => \'\',
        \'theme_url\' => get_bloginfo(\'template_url\'),
    ), $atts );
    
    //File path details
    $file_info = pathinfo($atts[\'img\']);
    $file_dir = $file_info[\'dirname\'] != \'.\' ? $file_info[\'dirname\'].\'/\' : \'\';
    $file_url = $file_dir . $file_info[\'filename\'];
    
    $output = \'<picture>
                <source srcset="\'.$atts[\'theme_url\'].\'/images/\'.$file_url.\'.webp" type="image/webp">
                <img src="\'.$atts[\'theme_url\'].\'/images/\'.$atts[\'img\'].\'">
            </picture>\';
    
    return $output;
}
add_shortcode(\'generate_image\', \'generate_image_tag\');


[generate_image img="image.png" title="Title"]
我认为WP中可能有问题,这是一个bug。无快捷码<source> 标签问候!:)