让WordPress支持上传SVG格式图片并显示在媒体库中的方法
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章将为大家详细讲解有关让WordPress支持上传SVG格式图片并显示在媒体库中的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。因SVG格式图片特性,可能
千家信息网最后更新 2026年11月04日让WordPress支持上传SVG格式图片并显示在媒体库中的方法
这篇文章将为大家详细讲解有关让WordPress支持上传SVG格式图片并显示在媒体库中的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
因SVG格式图片特性,可能会被插入恶意代码,网站容易被攻击,所以出于安全考虑WordPress默认不支持SVG格式图片上传,另外不像网上说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图片add_action('admin_head', function () {echo "";});网上有很多以上类似的代码,但都不支持媒体库网格模式显示SVG图片,下面的代码可以实现:
// 媒体库网格模式显示SVG图片function zm_display_svg_media($response, $attachment, $meta){if($response['type'] === 'image' && $response['subtype'] === 'svg+xml' && class_exists('SimpleXMLElement')){try {$path = get_attached_file($attachment->ID);if(@file_exists($path)){$svg = new SimpleXMLElement(@file_get_contents($path));$src = $response['url'];$width = (int) $svg['width'];$height = (int) $svg['height'];$response['image'] = compact( 'src', 'width', 'height' );$response['thumb'] = compact( 'src', 'width', 'height' ); $response['sizes']['full'] = array('height' => $height,'width' => $width,'url' => $src,'orientation' => $height > $width ? 'portrait' : 'landscape',);}}catch(Exception $e){}}return $response;}add_filter('wp_prepare_attachment_for_js', 'zm_display_svg_media', 10, 3);另一个相对代码较少的支持媒体库网格模式显示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上传后获取链接也一样在网页中使用。
嫌折腾代码麻烦,可以使用下面的相关插件:
SVG SupportEnable SVGSafe SVG(据说该插件可以检测并去除SVG中的恶意代码,与250+110有的一拼)WP SVG imagesEasy SVG SupportEnable SVG Uploads......
关于让WordPress支持上传SVG格式图片并显示在媒体库中的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
图片
媒体
格式
代码
支持
模式
网格
主题
方法
功能
恶意
插件
更多
篇文章
网页
面的
不错
实用
安全
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保险科技 互联网保险
互联网最新的科技有限公司
互联网科技的
华中科技大学互联网
狮子座互联网科技有限公司
互联网科技论坛
互联网科技股有哪些
科技伦理 互联网公司
互联网科技素材视频竖屏
互联网科技股午盘股票涨跌
天速互联网络科技有限公司
浙南科技城互联网大厦建设工程
工业互联网等科技实现智能化赋能
高科技互联网套路
互联网领先科技宣传片
美国五大互联网科技公司市值多少
黑龙江互联网科技公司
优雇互联网科技有限公司
上海旺乐尼互联网科技有限公司
互联网科技企业文化
紫鲸互联网科技
互联网女皇 腾讯科技
互联网经济与金融科技
受益于互联网科技的高速发展
消费医药和互联网科技
浙南科技城互联网大厦建设工程
江苏苏星互联网科技有限公司
云南省自由互联网科技有限公司
有人说阿里系是互联网科技企业
互联网科技平台产品运营