Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 代码发布 › WordPress开发日志:二次修改WP七牛云存储插件适应GIF

WordPress开发日志:二次修改WP七牛云存储插件适应GIF

Eswlnk的头像
Eswlnk
2021-11-24 23:31:46
WordPress开发日志:二次修改WP七牛云存储插件适应GIF-Eswlnk Blog
智能摘要 AI
本文介绍了七牛云存储插件的功能及其优化过程。该插件支持自动重命名、自动上传文件等实用功能,尤其自定义图片规则方便处理图片并添加水印,但不支持GIF格式。作者通过修改插件中的`image_display_processing`函数,解决了GIF文件无法适用图片规则的问题。具体方法是利用正则表达式匹配图片URL,并判断文件后缀,若为GIF则跳过处理,确保图片正常加载。最终实现了GIF和PNG使用不同规则的效果,提升了图片压缩和水印添加的灵活性。

七牛云存储是由老部落制作的一款对接七牛云对象存储的插件,它拥有自动重命名、自动上传文件等功能,可以算是业界良心插件。我最喜欢它的自定义图片规则功能,开启此项后方便我们压缩处理图片,在七牛云那里也可以设置水印等等,非常的方便,不过美中不足的是:由于GIF图片无法适用于图片规则,需要将其排除,否则图片将会无法加载。

WordPress开发日志:二次修改WP七牛云存储插件适应GIF-Eswlnk Blog

为了功能的完整性,我决定花费些时间来处理它的替换规则。

寻找替换函数

我们下载WP七牛云存储插件,将其解压,并搜索关键词:匹配正则,来到index.php文件的385行。

找到这个函数位置也是比较方便,用notepad搜索就行,以往的插件修改都是用这个编辑器完成

函数名称为:image_display_processing,并带有一个参数

函数名参数
image_display_processing$content
函数结构

判断文件后缀

上文我们说到,我们需要排除GIF后缀名,所以我们这里需要得到每个与正则相匹配的URL,并且取出后缀名,判断是否是GIF,如果是,则完成替换,返回替换后的内容;如果不是,则返回原内容。

有了这个思路,我们就可以开始编写代码,由于学艺不精,所以代码可能有点难看:

PHP代码

public function image_display_processing($content) {
	if ( isset($this->options['opt']['img_process'])
	                && $this->options['opt']['img_process']['switch'] ) {
		$media_url = get_option('upload_url_path');
		$pattern = '#<img[\s\S]*?src\s*=\s*[\"|\'](.*?)[\"|\'][\s\S]*?>#ims';
		// img匹配正则
		$content = preg_replace_callback(
		                    $pattern,
		                    function($matches) use ($media_url) {
			if (strpos($matches[1], $media_url) === false) {
				return $matches[0];
			} else {
				$file = substr(strrchr($matches[1],'.'),1);
				if($file!='gif')
				                            return str_replace(
				                                $matches[1],
				                                $matches[1] . $this->image_display_default_tab . $this->options['opt']['img_process']['style_value'],
				                                $matches[0]); else
				                                return $matches[0];
			}
		}
		,
		                    $content);
	}
	return $content;
}

我们通过使用 substr(strrchr($matches[1],'.'),1) 来获取URL后面跟着的后缀名,再通过判断来执行替换语句,即可实现适应GIF的效果。

PS:代码的排版可能导致其可读性变差,所以在文章下方,我会将附上文件。

效果展示

WordPress开发日志:二次修改WP七牛云存储插件适应GIF-Eswlnk Blog
GIF_SHOW
WordPress开发日志:二次修改WP七牛云存储插件适应GIF-Eswlnk Blog
图片展示

成功实现了GIF和PNG使用不同的图片规则,达到压缩图片和添加水印的效果,如果想要实现本站GIF图片点击播放的效果,可以选择阅览以下文章,通过添加GIF Player实现此效果。

https://blog.eswlnk.com/241.html

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
GIFWordPress七牛云图片处理网站优化
1
1
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
JAVA实验:JDBC编程实现数据库操作
上一篇
WordPress开发日志:利用Ajax添加文章页自动推送并显示推送结果
下一篇

评论 (1)

请登录以参与评论
现在登录
  • 的头像
    小伍同学

    下载链接:https://ersanwu.lanzoui.com/ixXDKwvaffi
    密码:7apb
    建议备份原文件后再开启修改过后的插件

    4 年前 • 182.150.*.* • Unknown Unknown • 回复

猜你喜欢

  • 插件分享:新增自助购买卡密功能
  • 主题改造计划:手动模块化网站首页
  • 「插件分享」WP Migrate DB Pro | WordPress数据一键迁移工具
  • 「日志记录」逆向必应翻译网页版API实现免费调用
  • 「代码分享」第三方平台VIP视频解析API接口
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

网络空间测绘页面开发日志
2022-02-07 16:31:00
通用网盘下载链接检测_Serverless云函数应用
2022-05-08 16:16:39
Kubernetes 1.20+ 在 Ubuntu 20.04 LTS 上的管理节点初始化
2023-01-20 20:34:01

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 1.738 秒   |  SQL查询 42 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈