让WordPress支持SVG文件上传(待补充)

什么是SVG?

SVG格式:可缩放矢量图形。SVG是一种使用XML标记语言定义矢量图形的文件格式。SVG的主要优点是它允许您放大图像而不会丢失质量或有任何像素化。

这使您可以放大矢量图形而不会降低质量。最重要的是,SVG图像在文件大小方面可能比JPEG或PNG小。

矢量图形通常用于图标,图标字体,网站徽标和品牌图像。您可能希望在WordPress中添加SVG文件以用于公司徽标,图标或其他图形。

为什么wordpress不支持SVG格式

会被wordpress的默认安全机制,判定为,不安全的文件,所以上传以后,就会立刻删除。

听起来很酷,SVG文件仍然有点不安全。这就是为什么WordPress默认不支持SVG文件上传的原因。

如果您在WordPress中上传SVG图像,您将看到以下错误消息:

抱歉,出于安全原因,不允许使用此文件类型。

如何将SVG文件安全地上传到WordPress

方法1

默认情况下, WordPress出于安全考虑不支持SVG格式(可缩放矢量图形)文件上传,将下面的代码添到主题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');

方法2

安全地将SVG文件上传到WordPress的最佳方法是使用Safe SVG,该插件可自动清理上传的SVG文件。此外,它还可以预览媒体库中的SVG文件,因此您可以轻松地将它们添加到文章中。

这个WordPress插件还具有一个专业版,该版本允许限制可以上传SVG的用户。对于具有多个贡献者的网站,此功能非常有用,因为您可以将访问权限限制为信任的人。

专业版还包括SVGO优化服务器 ,它使您可以减少文件大小和获得高级支持。

下载该插件,当您安装并激活插件时,无需进行任何设置调整。它仅允许SVG上传,同时自动清理可能存在的恶意代码。

下面是一个示例,我们在安装Safe SVG之前尝试上传SVG图像。如您所见,由于安全问题,WordPress不允许这样做。

安装插件后,我们可以轻松上传它。而且,我们甚至可以看到图像的预览。