You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更新WordPress或PHP后<picture>的srcset属性被加data-前缀如何解决

问题原因

新版本WordPress的内容安全过滤接口wp_kses默认的HTML属性白名单未将<source>标签的srcset、sizes纳入原生允许属性范围,未识别的属性会被自动添加data-前缀处理,和PHP版本本身没有直接关联。

最优解决方案

直接修改WordPress原生的允许HTML属性白名单,属于官方推荐的合规修改方式,不属于临时hack方案。
将以下代码添加到当前使用主题的functions.php文件,或者自定义功能插件的代码文件中即可:

add_filter('wp_kses_allowed_html', function ($allowed_tags, $context) {
    // 可根据实际使用场景调整上下文判断条件
    if (in_array($context, ['post', 'the_content', 'acf_the_content'])) {
        if (isset($allowed_tags['source'])) {
            $allowed_tags['source']['srcset'] = true;
            $allowed_tags['source']['sizes'] = true;
        }
    }
    return $allowed_tags;
}, 10, 2);

验证方法

添加代码后更新一篇包含对应<picture>标签的内容,查看前端输出的源代码,srcset和sizes属性就不会再被自动添加data-前缀。
如果仍然出现前缀添加的问题,可检查是否安装了额外的安全类插件、页面编辑器插件有独立的HTML过滤规则,参照插件的文档调整对应白名单即可。

内容的提问来源于stack exchange,提问作者Jack Linhart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:06:05