
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress图片水印设置
WP集市
2025-09-08
【WordPress教程】
671人已围观
-
先说个事,WordPress本身是没得自带图片水印功能的,你得靠插件或者自己写代码。今天咱们就两头都唠唠,反正最后你总能找到个办法给图片打上水印,保护一下自己的原创图片嘛。
-
插件是最省事的路子,比如「Easy Watermark」这个插件,安装激活之后,在「设置」里找到「媒体」那边就能配置。你可以上传一个PNG格式的水印图,最好是透明底的,然后调整位置、不透明度啥的,保存了就完事。以后上传图片自动就给你打上水印了,懒人必备。
-
不过插件有时候会拖慢网站速度,或者你不想装太多插件,那就自己写代码呗。下面这段代码可以扔到主题的 functions.php 文件里,记得先备份一下,别搞崩了:
add_filter('wp_handle_upload', 'add_watermark_to_image');
function add_watermark_to_image($file) {
$mime_types = array('image/jpeg', 'image/png');
if (in_array($file['type'], $mime_types)) {
$watermark = imagecreatefrompng(get_template_directory() . '/watermark.png');
$image_path = $file['file'];
if ($file['type'] == 'image/jpeg') {
$image = imagecreatefromjpeg($image_path);
} elseif ($file['type'] == 'image/png') {
$image = imagecreatefrompng($image_path);
}
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image_width = imagesx($image);
$image_height = imagesy($image);
$dest_x = $image_width - $watermark_width - 10;
$dest_y = $image_height - $watermark_height - 10;
imagecopy($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height);
if ($file['type'] == 'image/jpeg') {
imagejpeg($image, $image_path, 90);
} elseif ($file['type'] == 'image/png') {
imagepng($image, $image_path);
}
imagedestroy($image);
imagedestroy($watermark);
}
return $file;
}
-
这段代码的意思是,每次上传图片的时候,WordPress会触发一个钩子,然后我们检查是不是JPEG或者PNG格式,是的话就给它叠加一个水印图。水印图你得自己准备,放在主题根目录下,名字叫 watermark.png。位置是右下角偏移10像素,你可以自己调调坐标。
-
但这样搞有个问题,就是如果之前上传的图片,水印就加不上了。所以如果你想要批量处理老图片,得另写个脚本或者用插件比如「Force Regenerate Thumbnails」来重新生成图片。
-
还有啊,水印别搞太大会遮挡图片主要内容,用户不喜欢。透明度调到30%左右差不多,若隐若现的感觉最好,既不喧宾夺主又能起到标识作用。
-
最后提一嘴,有些主题自带水印功能,比如你在主题选项里找找看有没有「Image Protection」或者「Watermark」之类的设置。有的话直接用它就行了,省得折腾代码。
-
总之呢,WordPress图片水印就这么点事儿,要么插件要么代码,看你自己选择。保护原创是好事,但也别影响用户体验,平衡点找好了就行。完事。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
下一篇:WordPress图片批量压缩

热门文章
