什么是SVG?
SVG格式:可缩放矢量图形。SVG是一种使用XML标记语言定义矢量图形的文件格式。SVG的主要优点是它允许您放大图像而不会丢失质量或有任何像素化。
这使您可以放大矢量图形而不会降低质量。最重要的是,SVG图像在文件大小方面可能比JPEG或PNG小。
矢量图形通常用于图标,图标字体,网站徽标和品牌图像。您可能希望在WordPress中添加SVG文件以用于公司徽标,图标或其他图形。
为什么wordpress不支持SVG格式
会被wordpress的默认安全机制,判定为,不安全的文件,所以上传以后,就会立刻删除。
默认情况下, WordPress出于安全考虑不支持SVG格式(可缩放矢量图形)文件上传,
听起来很酷,SVG文件仍然有点不安全。这就是为什么WordPress默认不支持SVG文件上传的原因。
如果您在WordPress中上传SVG图像,您将看到以下错误消息:
learn-dash-blue-logo-1.svg
抱歉,由于安全原因,这个文件类型不受支持。

WordPress上传SVG文件
安全地将SVG文件上传到WordPress的最佳方法是使用插件。包括SVG Support插件和Safe SVG插件。
插件1:SVG Support

链接:https://wordpress.org/plugins/svg-support/
插件2:Safe SVG

下载安装并激活插件,无需进行任何设置调整。它仅允许SVG上传,同时自动清理可能存在的恶意代码。
修改修改functions.php方法
将下面的代码添到主题functions.php 文件中,保存文件后,就可以在WordPress后台正常上传SVG文件了。
在当前的主题的 functions.php
文件添加如下代码即可:
function myplugin_activate() {
$upload = wp_upload_dir();
$upload_dir = $upload['basedir'];
$upload_dir = $upload_dir . '/mypluginfiles';
if (! is_dir($upload_dir)) {
mkdir( $upload_dir, 0700 );
}
}
register_activation_hook( __FILE__, 'myplugin_activate' );
add_filter('upload_mimes', 'wpjam_upload_mimes');
function wpjam_upload_mimes($mimes = array()) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
function my_upload_mimes($mimes = array()) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter('upload_mimes', 'my_upload_mimes');