WordPress 无法上传 SVG 图片怎么办?
在 WordPress 上传 SVG 图片时,经常会遇到提示:“抱歉,由于安全原因,这个文件类型不受支持。”
出现这个问题的原因很简单:WordPress 默认不允许上传 SVG 文件。
SVG 本质上是 XML 文本文件,里面可能包含脚本或恶意代码,如果直接开放上传,存在一定安全风险,所以 WordPress 默认把它拦截了。
解决方法
最简单、安全的方式是安装插件,例如:
- Safe SVG
- SVG Support
插件会在允许上传 SVG 的同时,对 SVG 文件进行安全清理。
在后台,插件-安装插件,搜索 SVG,选择一个 SVG 插件即可,如果发现安装之后依旧不行,更换插件即可。

如果你想用代码解决,也可以把下面代码加入主题的 functions.php 或自定义插件中:
function allow_svg_upload($mimes) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter('upload_mimes', 'allow_svg_upload');
不过要注意:仅添加 MIME 类型只解决“能上传”的问题,不等于解决安全问题。如果网站允许多人上传文件,建议使用 Safe SVG 这类带清理功能的插件。
不建议的做法
不要为了上传 SVG 直接开启:
define('ALLOW_UNFILTERED_UPLOADS', true);
这会放宽更多文件上传限制,风险更高。
结论:
WordPress 无法上传 SVG,是因为默认安全策略限制。个人网站可以用代码开放;多人站点、客户站点更推荐使用带安全清理的 SVG 插件。