如何在WordPress上传图片时添加水印
在图片上添加水印有助于保护您的内容免遭未经授权的使用,确保您的照片或图片即使在网上共享时也能保留归属。在本指南中,我们将引导您了解如何使用自定义代码在 WordPress 上传图片时自动将水印应用于图片。
确保向子主题添加任何自定义设置,以防止在主题更新期间丢失更改。本文晓得博客为你介绍如何在WordPress上传图片时添加水印。
为什么要在图像中添加水印?
给图像添加水印有几个好处:
- 保护知识产权:防止未经授权重复使用您的图像。
- 保持归属:确保您的图片在线共享时能够归功于您的品牌。
- 品牌知名度:通过在每个图像上添加您的徽标来提高品牌知名度。
1、创建水印图像
首先,您需要一个透明的 PNG 文件作为水印(例如您的徽标或品牌名称)。将水印图像上传到您的 WordPress 媒体库或将其放在主题目录中。
文件路径:wp-content/themes/your-child-theme/watermark.png
您也可以将其作为普通媒体文件上传到 wp-contents 并从那里调用图像。
2、添加代码以应用水印
将以下代码添加到您的主题文件或子主题functions.php
文件中。
/*
* Snippet: How to Add a Watermark to Images During Upload in WordPress – 2024
* Tested with WooCommerce 9.3.3
* "This function adds a watermark to images during upload in WordPress"
*/
function wcsuccess_add_watermark_to_image( $metadata, $attachment_id ) {
$upload_dir = wp_upload_dir();
$image_path = $upload_dir['basedir'] . '/' . $metadata['file'];
// Load the uploaded image and watermark
$image = imagecreatefromstring( file_get_contents( $image_path ) );
$watermark = imagecreatefrompng( get_template_directory() . '/watermark.png' );
// Get dimensions of both images
$image_width = imagesx( $image );
$image_height = imagesy( $image );
$watermark_width = imagesx( $watermark );
$watermark_height = imagesy( $watermark );
// Calculate position to place the watermark (bottom right)
$x = $image_width - $watermark_width - 10;
$y = $image_height - $watermark_height - 10;
// Merge the watermark onto the image
imagecopy( $image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height );
// Save the watermarked image
imagejpeg( $image, $image_path, 100 );
// Free memory
imagedestroy( $image );
imagedestroy( $watermark );
return $metadata;
}
add_filter( 'wp_generate_attachment_metadata', 'wcsuccess_add_watermark_to_image', 10, 2 );
工作原理
- 图像和水印加载:从指定路径加载上传的图像和水印。
- 定位水印:将水印放置在右下角,留出 10 像素的边距。
- 图像保存:将带有水印的图像保存回原始文件路径。
- 内存管理:释放内存以确保最佳的服务器性能。
推荐:YITH WooCommerce Stripe Premium插件WordPress付款插件
3、验证图像上传过程
通过将新图片上传到 WordPress 媒体库来测试您的代码。验证上传的图片上是否出现水印。如果没有,请确保水印 PNG 路径正确。
水印的最佳用例
- 摄影师和艺术家:通过添加品牌水印来保护您的作品免遭未经授权的使用。
- 网上商店:使用水印防止竞争对手复制产品图像。
- 博主和营销人员:确保您的品牌在社交媒体上分享图片时可见。
推荐:WP Fluent Forms Pro插件轻量级WordPress表单插件
总结
以上是晓得博客为你介绍的如何在WordPress上传图片时添加水印的全部内容,在上传图片时添加水印是保护内容和保持品牌知名度的实用方法。使用提供的代码,您可以自动执行水印过程,而无需依赖插件。希望对你的WordPres建站有所帮助,如有问题可联系我们。
推荐:Novashare插件设置WordPress轻量级社交媒体分享插件教程
Claude、Netflix、Midjourney、ChatGPT Plus、PS、Disney、Youtube、Office 365、多邻国Plus账号购买,ChatGPT API购买,优惠码XDBK,用户购买的时候输入优惠码可以打95折