互联网技术 · 2023年11月25日 0

WordPress自动为图片添加水印的方法总结

大家好,今天我想和大家分享一下在WordPress中为图片添加水印的方法。给图片添加水印不仅可以防止盗用,还能有效提升网站的知名度。

推荐的WordPress图片水印插件

如果你觉得每次手动添加水印太麻烦,可以考虑使用插件来自动处理。WordPress平台上有许多可以实现此功能的插件,以下是我个人推荐的几款效果良好的插件。

插件推荐1:DX-Watermark

DX-Watermark是一款较早的图片水印插件,尽管作者已经六年没有更新,但其功能依然稳定。该插件支持添加文字和图片水印。

WordPress自动为图片添加水印的方法总结

插件推荐2:image-watermark

image-watermark的一个亮点是能够为之前已上传的图片添加水印。它同样支持水印位置的设置,并允许用户控制透明度。

WordPress自动为图片添加水印的方法总结

image-watermark的汉化版下载地址:https://www.lanzous.com/i6jzuni

插件推荐3:WPWaterMark

WPWaterMark是由国内博主老蒋开发的一个WordPress水印插件,完全中文化。

下载地址可以在GitHub上找到。

无需插件的手动水印添加方法:

如果你认为安装WordPress插件占用资源,可以通过手动创建文件的方式来实现自动添加水印,这个方法与插件的原理类似。

步骤如下:

1. 在主题目录中创建一个class文件夹,并将image.php文件放入其中。

2. 打开functions.php文件,添加以下代码:

/** * WordPress上传图片添加水印 */ function uimoban_watermark($attachment_ID) { $attachment = get_post($attachment_ID); switch($attachment->post_mime_type){ case image/jpeg: case image/png: case image/gif: require THEME_FILES . /class/image.php; $image = new image(true); $image->set(watermark.png, 1); $image->watermark($attachment->guid); break; default:return ; } } add_action(add_attachment, uimoban_watermark);

说明:$image->set(‘watermark.png’, 1); 中指定的watermark.png是水印图片,需与第一步中的data/watermark/目录下的watermark.png一致,当然你也可以根据需要进行修改。“1”代表水印位置。

在又拍云/七牛中添加水印的方法:

如果使用的是又拍云或七牛的图床,这些服务本身支持水印设置。为了在WordPress中调用带水印的图片,可以按照以下方法进行操作。

又拍云自动添加水印

1. 打开functions.php文件,添加以下代码:

/** * 又拍云图片添加水印 */ function fa_hack_image_url($matches) { $prefix = !boob; // 自定义版本或水印字符串 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);

2. 然后在又拍云的水印规则设置中,配置水印。

WordPress自动为图片添加水印的方法总结

生成的水印地址可以根据以下格式拼接URL:

/watermark/url/水印路径base64/align/southeast

其中水印路径需要进行base64编码,例如/watermark.png转换为base64后为L3dhdGVybWFyay5wbmc=,则图片的后缀为:

!/watermark/url/L3dhdGVybWFyay5wbmc=/align/southeast

align后面的参数可以根据需要调整,最简单的方式是在新建规则时直接设置。

七牛自动添加水印

1. 打开functions.php文件,添加以下代码:

add_filter(the_content, QiNiuThumbnail); function QiNiuThumbnail($content) { global $post; $pattern =”/<img(.*?)src=(|”)(.*?).(bmp|gif|jpeg|jpg|png)(|”)(.*?)>/i”; /* 下面这行代码中的300表示缩略图的大小,请根据实际需求修改 */ $replacement = <img$1src=$2$3.$4?imageMogr2/thumbnail/300x$5$6>; $content = preg_replace($pattern, $replacement, $content); /* 此处预留位置,可删除 */ return $content; }

注意:以上代码中的?imageMogr2/thumbnail/300x需要根据实际需求进行替换。

2. 在七牛后台创建新图片样式,并设置水印样式,可以是文字水印。

WordPress自动为图片添加水印的方法总结

以上方法参考了张戈博客和fatesinger的内容。

如果觉得麻烦,你也可以考虑手动给图片添加水印,使用在线工具或Photoshop,因为有时自动添加水印可能会遮挡到图片中重要的部分。

对于电脑上批量添加水印的需求,推荐使用XnConvert这款软件:

Mac系统下批量处理图片的大小调整、加水印和旋转的方法(Windows版本也有,文章最初是以Mac为主)