• 网站正式通过备案,自己恭喜下
  • 新年新气象,新年快乐
  • 记录下对WordPress源代码的修改
  • 厉害
  • 说说可以了吧
  • 现在开始可以更方便的插入无序列表了,使用短代码
  • 你知道吗?在论坛输入233会变成一个表情哦 =.=,就是这个 :mrgreen:
  • 安装了TT-RSS,然后发现暂时不支持PHP7,然后又删除了,继续用inoreader吧,其实这个用着还好的,恩,很好
  • 前几天在黑莓应用市场居然发现了新安装应用,最重要的是几天后我居然收到了更新推送
  • 发个说说表示下存在感

巧用CDN图片处理实现图片水印和图片弹窗兼容

WordPress 云落 10个月前 (02-01) 52次浏览 已收录 2个评论
文章目录[隐藏]

使用一种特别的姿势来解锁 CDN 云储存也就是七牛,又拍,OSS 的更多关于图片的玩法,使得文章图片实现缩略图+水印+图片弹窗功能兼容并蓄。

前言

解决办法

首先,这篇文章的首图就是开启了水印+缩略图的【本网站水印被我暂时去掉了,所以看不到,右下角的水印是截图工具自带的】,虽然目前我的水印被窝去掉了,但是不会影响看问题,我的图片链接后缀是加的!water.jpg,如果只看显示的图片的话,他的宽度应该只有 750px,但是地阿里之后图片尺寸确实 1920px 的,也就是说之前打开网页加载的是 750px 的图片,是原图的缩略图,如果看图片尺寸的话就更不一样,我想你们肯定明白了,我说的方法是什么了,就是将图片样式名字命名为【water.jpg】当然,你也可以是别的,比如googlo.png,比如happy.gif,总之让图片弹窗的插件认为这个本来就是原图。

实测:七牛,又拍,OSS 都支持这种图片样式命名方法

水印代码

function git_cdn_water($content) {
       global $post;
       $pattern ="/<img(.*?)src=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
       $replacement = '<img$1src=$2$3.$4!water.jpg$5$6>';//换成自己的图片样式名字
       $content = preg_replace($pattern, $replacement, $content);
       return $content;
}
add_filter('the_content', 'git_cdn_water');

可选版水印

function git_cdn_water($content) {
       global $post;
       $pattern ="/<a(.*?)href=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)><img(.*?)src=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
       $replacement = '<a$1href=$2$3.$4!water.jpg$5$6><img$7src=$8$9.$10!water.jpg$11$12>';
       $content = preg_replace($pattern, $replacement, $content);
       return $content;
}
add_filter('the_content', 'git_cdn_water');
  • 其实就是修改了一下正则匹配而已啦

后语

经过这个事情,我想起了一句经常听过的话:有时候思路比技术更重要~


weinxin
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送 WordPress 小技巧,你可以随时退订,欢迎订阅哦~

乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:巧用CDN图片处理实现图片水印和图片弹窗兼容
喜欢 (8)
云落
关于作者:
无折腾,不生活,我是一个WordPress菜鸟,一个玩淘宝的卖家,欢迎你认识我,我是云落!
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 这个方法好。
    挖站否2018-03-21 12:35 回复 Windows 10 | Chrome 64.0.3282.186
  2. 之前我遇到的是图片懒加载和fancybox冲突...后来嫌麻烦就去掉了懒加载
    唐门2018-02-05 17:00 回复 Windows 10 | Chrome 63.0.3239.132