前言:
汇站首页轮播图片就是 SVG
格式,整站相对来说也用了 SVG
格式好几张,但是由于 SVG
格式图片的特性,可能会被插入恶意代码,从而导致网站容易受到攻击。因此,为了保证安全性,WordPress
默认不支持上传 SVG
格式图片。虽然有人声称 SVG
格式图片具有很高的应用价值,但除了一些网页上的小图标可以使用 SVG
图片外,对于正常的彩色图片来说,并没有明显的优势。然而,在某些情况下,我们确实需要使用 SVG
图片,比如主题的 LOGO
图片。因为如果使用 PNG
图片,在手机上可能不够清晰,而使用 SVG
格式则可以解决这个问题。
如果你想让 WordPress
支持上传 SVG
格式图片并在媒体库中显示,你可以将下面的代码添加到当前主题的函数模板functions
.php
中,让 WordPress
支持上传 SVG
图片,并且只允许管理员具有此权限。
以下汇站分享几个代码如下:
// 只允许管理员上传 SVG
图片
if
(current_user_can
( 'manage_options
' )) {
add_filter
('upload_mimes
', function
($mimes
) {
$mimes
['svg
'] = 'image
/svg
+xml
';
return
$mimes
;
});
}
媒体库列表模式显示 SVG
图片:
在互联网上,有很多类似的代码,但是它们都不支持使用媒体库网格模式来展示 SVG
图片。下面的代码可以解决这个问题。
// 媒体库网格模式显示 SVG
图片
function
zm_display_svg_media
($response
, $attachment
这是一个支持媒体库网格模式显示 SVG
图片的代码,相对来说代码量较少。即使开启调试模式,也会有错误提示,但不会影响使用。
// 媒体库网格模式显示 SVG
图片
function
zm_svg_metadata
($data
, $post_id
) {
$data
= array
(
'sizes
' => array
(
'large
' => array
(
'file
' => pathinfo
(wp_get_attachment_url
($post_id
), PATHINFO_BASENAME
)
)
)
);
return
$data
;
}
add_filter
('wp_get_attachment_metadata
', 'zm_svg_metadata
', 10, 2);
结语:
关于这个功能的用途,取决于您所使用的主题是否需要它。您可以通过直接使用 FTP
上传并获取链接,同样可以在网页中使用。
转载请注明:汇站网 » (WordPress
教程)纯代码实现 SVG
图片上传并显示在媒体库中