WordPress网站的媒体库默认可以上传JPG、PNG、GIF等格式的图片,不支持直接上传 SVG 格式的图,那么如果需要上传SVG 图片,该怎么办呢?下面就来看下具体的操作方法。
SVG英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形,是一种图像文件格式;SVG还是一种用XML定义的语言,可以用来描述二维矢量及矢量或栅格图形。
一、插件法
WordPress网站媒体库中上传 SVG 文件,需要安装相应的插件,比如”Safe SVG”或”SVG Support”等,安装完插件后,在WordPress仪表盘中找到插件的设置选项。根据插件的说明,可能需要对一些选项进行配置,例如允许SVG文件上传、设置权限等。完成插件设置后,可以进入WordPress的媒体库页面(在仪表盘中选择“媒体”>“媒体库”),点击“添加新文件”按钮,然后选择并上传SVG文件。
二、代码法
只需要将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。
//WordPress媒体库允许上传SVG文件
add_filter(
'upload_mimes',
function ( $upload_mimes ) {
if ( ! current_user_can( 'administrator' ) ) {
return $upload_mimes;
}
$upload_mimes['svg'] = 'image/svg+xml';
$upload_mimes['svgz'] = 'image/svg+xml';
return $upload_mimes;
}
);
add_filter(
'wp_check_filetype_and_ext',
function ( $wp_check_filetype_and_ext, $file, $filename, $mimes, $real_mime ) {
if ( ! $wp_check_filetype_and_ext['type'] ) {
$check_filetype = wp_check_filetype( $filename, $mimes );
$ext = $check_filetype['ext'];
$type = $check_filetype['type'];
$proper_filename = $filename;
if ( $type && 0 === strpos( $type, 'image/' ) && 'svg' !== $ext ) {
$ext = false;
$type = false;
}
$wp_check_filetype_and_ext = compact( 'ext', 'type', 'proper_filename' );
}
return $wp_check_filetype_and_ext;
},
10,
5
);
需要注意的是,上传SVG文件可能存在一些安全风险,因为SVG文件可以包含可执行代码,确保只从可信来源获取SVG文件,并谨慎处理未知的SVG文件。此外,如果使用的是共享托管平台,他们可能有自己的限制和安全策略,可能会阻止上传SVG文件。