让WordPress支持上传SVG格式图片并显示在媒体库中的方法
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇文章将为大家详细讲解有关让WordPress支持上传SVG格式图片并显示在媒体库中的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。因SVG格式图片特性,可能
千家信息网最后更新 2024年12月13日让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安全错误
数据库的锁怎样保障安全
匹配服务器失败429
北京网络安全公司 杨
网络安全频道出错
网络安全与应用基础
嘉定区常用软件开发市场
普通电脑做服务器
贵阳黄河服务器供应商
软件开发中为什么uml
网络安全第三版刘远生
有没有外文搜索数据库推荐的
阿里云服务器 外网ip
手机打电话联系不到服务器
网络安全专业进大厂
战地5自建服务器怎么进人
中山港火炬软件开发区
安卓9.0软件开发
计算机网络安全论文答辩模板
网络安全日站
饥荒联机版小白服务器怎么复活
顾家软件开发
无法vac安全服务器
数据库安全性实验上课讲义
山西特色少儿编程软件开发
诛仙端游连接不上服务器怎么办
酒店网络安全等级保护制度
vf数据库什么意思
小型企业服务器数据恢复
、计算机网络安全的要素是
裕安区网络安全宣传走进校园
数据库查询和高级筛选