WordPress 上传图片加水印,最简便高效的方式是用 Easy Watermark 等插件自动处理,也可通过代码或云存储方案实现,以下是详细步骤与方案对比。
案例:

一、插件法(推荐,零代码)
以 Easy Watermark 为例,支持文字 / 图片水印、自动添加与批量处理,适合大多数用户。
- 安装激活
- 后台「插件→安装插件」搜索 Easy Watermark,安装并启用。
- 或下载插件压缩包,上传至 wp-content/plugins 后启用。
- 新建水印模板
- 进入「Watermarks→Add New Watermark」,输入模板名称。
- 选择水印类型:Text(文字,支持英文 / 数字 / 符号,中文需适配字体)或 Image(图片,建议 PNG 透明底)。
- 文字水印:设置内容、字体、颜色、大小、透明度;图片水印:上传水印图并调整透明度与缩放比例。
- 选择水印位置(如右下角、居中)、边距,开启「Tile」可平铺水印,预览无误后保存。
- 配置自动应用规则
- 进入「Settings→Easy Watermark」,勾选「Automatic watermarking」。
- 在「Image Sizes」中选择需加水印的尺寸(如原图、大尺寸)。
- 按需开启「Overwrite original images」(覆盖原图)或「Keep backups」(保留备份)。
- 批量处理存量图片
- 进入「Media」,切换到列表视图,勾选目标图片。
- 批量操作下拉选「Apply watermark」,选择模板执行即可。
二、其他常用插件速览
| 插件 | 核心特点 | 适用场景 |
|---|---|---|
| Image Watermark | 仅支持图片水印,轻量稳定,可手动批量加水印 | 只需图片水印、追求简单设置 |
| Next Watermark | 支持文字 / 图片水印,9 个预设位置,多格式兼容 | 需批量处理存量图、注重品牌统一 |
| Super Image Plugin | 支持外部图片下载加水印,可批处理历史图 | 外贸站需处理外部引用图 |
三、代码法(适合有开发能力用户)
通过修改主题 functions.php 实现,需注意备份与子主题使用,避免主题更新丢失代码。
- 准备水印图:上传水印 PNG 至 wp-content/uploads/watermark/ 目录。
- 添加代码(需服务器支持 GD 库)
php运行
function custom_image_watermark($attachment_id) { $watermark_path = WP_CONTENT_DIR . '/uploads/watermark/your-watermark.png'; $image_path = get_attached_file($attachment_id); if (!file_exists($watermark_path) || !file_exists($image_path)) return; // 打开原图与水印 $image = imagecreatefromstring(file_get_contents($image_path)); $watermark = imagecreatefrompng($watermark_path); // 获取尺寸并计算位置(右下角,边距20px) $image_w = imagesx($image); $image_h = imagesy($image); $watermark_w = imagesx($watermark); $watermark_h = imagesy($watermark); $pos_x = $image_w - $watermark_w - 20; $pos_y = $image_h - $watermark_h - 20; // 合并水印(透明处理) imagecopy($image, $watermark, $pos_x, $pos_y, 0, 0, $watermark_w, $watermark_h); // 保存修改 imagejpeg($image, $image_path, 90); imagedestroy($image); imagedestroy($watermark); } add_action('add_attachment', 'custom_image_watermark'); - 上传测试:上传新图片,检查是否成功添加水印;存量图片需手动触发重新生成缩略图。
三、云存储 / CDN 法(适合高流量 / 外贸站)
通过又拍云、阿里云 OSS 等配置水印规则,不占用服务器资源,支持实时处理。
- 配置云存储水印规则
- 在又拍云 / 阿里云 OSS 后台创建水印模板,设置水印内容、位置、透明度。
- 生成水印 URL 规则(如又拍云:/watermark/url/ 水印路径 base64/align/southeast)。
- 对接 WordPress
- 安装云存储插件(如 UpdraftPlus、WP Offload Media),将媒体库文件同步至云存储。
- 或通过 functions.php 过滤图片 URL,自动拼接水印参数(示例见参考链接)。
四、注意事项
- 水印建议:图片水印用 PNG 透明底,文字水印避免遮挡主体,透明度设 30%-60%。
- 性能与备份:批量处理前备份原图,避免覆盖后无法恢复;大流量站优先选云存储方案。
- 兼容性:插件需适配 WordPress 版本,代码法需确保服务器安装 GD 或 ImageMagick 扩展。
需要我根据你的水印类型(文字 / 图片)、网站规模与是否用云存储,给出一份可直接复制的配置清单与操作清单吗?
文章版权声明