
目前主流的图片云都提供了比较不错的图片处理功能,水印也是其中的一方面。我们可以利用这个给文章图片自动加上水印,这也是比较推荐的方法,毕竟保留原图有更好的选择。
实现原理也非常简单,只要把图片地址换成带水印处理后缀的图片地址就可以了。下面的代码直接加到functions.php
中,注意替换你自己的水印后缀。
function fa_hack_image_url($matches) {
$prefix = '!images';// 自定义版本或者水印字符串
return $matches[1] . $matches['2'] . $prefix;
}
function fa_image_add_watermelon( $content ){
$content = preg_replace_callback("/(<img[^>]*src *= *[\"']?)([^\"']*)/i", 'fa_hack_image_url' , $content);
return $content;
}
add_filter('the_content','fa_image_add_watermelon');
如果你需要给feed中的图片也加上水印,则在functions.php 中加入下面的代码
add_filter('the_content_feed','fa_image_add_watermelon');
add_filter('the_excerpt_rss','fa_image_add_watermelon');
又拍云水印规则
最简单的方法是新建又拍云版本,然后打开水印

直接设置即可
可以自行拼接url地址。
/watermark/url/水印路径base64/align/southeast
其中水印路径需要base64编码,比如路径为/watermark.png,转换为base64后为
L3dhdGVybWFyay5wbmc=
则图片需要加的后缀为
!/watermark/url/L3dhdGVybWFyay5wbmc=/align/southeast
align后面为方向,可以根据你自己的需要调整,当然最简单的是直接在新建规则的时候设置了。
不过貌似有人说直接通过参数处理的动图无法添加水印?可以看看下面图片!

七牛同理,只不过后缀规则不同而已,根据相应的规则进行改进就可以了。
又拍云还支持原图保护功能,需要加密钥后缀才能访问,如果把密钥和水印缩略图版本设置成一样,则无法访问无水印版本图片,具体可以查阅官方文档。