在WordPress中,可以采取以下措施来实现图片和内容的版权保护:
functions.php
文件中添加以下代码:function disable_right_click() {
if (is_single()) { // 仅在文章页面禁用右键点击保存图片
echo '<script>
document.addEventListener("contextmenu", function(e) {
e.preventDefault();
});
</script>';
}
}
add_action('wp_footer', 'disable_right_click');
function add_watermark($attachment_ID) {
$attachment_data = wp_get_attachment_metadata($attachment_ID);
$upload_dir = wp_upload_dir();
$original_file = $upload_dir['basedir'] . '/' . $attachment_data['file'];
if (strpos($original_file, '/watermarked/') !== false) {
// 水印已添加,无需重复操作
return;
}
// 水印图片路径
$watermark_file = get_stylesheet_directory() . '/images/watermark.png';
$watermark_image = imagecreatefrompng($watermark_file);
// 根据原始图片类型创建一个新的图像
switch ($attachment_data['image_type']) {
case 'image/jpeg':
case 'image/jpg':
$original_image = imagecreatefromjpeg($original_file);
break;
case 'image/png':
$original_image = imagecreatefrompng($original_file);
break;
case 'image/gif':
$original_image = imagecreatefromgif($original_file);
break;
default:
return $attachment_ID;
}
// 设置水印位置
$watermark_pos_x = $attachment_data['width'] - imagesx($watermark_image) - 10;
$watermark_pos_y = $attachment_data['height'] - imagesy($watermark_image) - 10;
// 合并原始图片和水印图片
imagecopy($original_image, $watermark_image, $watermark_pos_x, $watermark_pos_y, 0, 0, imagesx($watermark_image), imagesy($watermark_image));
// 输出到文件
$watermarked_dir = $upload_dir['basedir'] . '/watermarked/';
wp_mkdir_p($watermarked_dir);
$watermarked_file = $watermarked_dir . $attachment_data['file'];
switch ($attachment_data['image_type']) {
case 'image/jpeg':
case 'image/jpg':
imagejpeg($original_image, $watermarked_file, 100);
break;
case 'image/png':
imagepng($original_image, $watermarked_file, 9);
break;
case 'image/gif':
imagegif($original_image, $watermarked_file);
break;
}
// 更新附件元数据
$attachment_data['file'] = str_replace($upload_dir['subdir'], '/watermarked' . $upload_dir['subdir'], $attachment_data['file']);
wp_update_attachment_metadata($attachment_ID, $attachment_data);
return $attachment_ID;
}
add_filter('wp_generate_attachment_metadata', 'add_watermark');
此代码会在上传图片时将水印添加到原始图片中,并将新图片保存到“/wp-content/uploads/watermarked/”目录,以避免替换原始图片。
禁止复制和粘贴内容:可以使用插件,如WordPress插件“WP Content Copy Protection & No Right Click”,该插件可以禁止复制和粘贴网站内容。安装后,插件会自动生效,无需额外代码。
添加版权声明:可以在文章的底部添加版权声明,提醒访问者尊重内容的版权。可以在文章模板的single.php
文件中添加以下代码:
<div class="copyright">
© <?php echo date('Y'); ?> Your Website Name. All rights reserved. Unauthorized use and/or duplication of this material without express and written permission from this site’s author and/or owner is strictly prohibited.
</div>
上述代码会在文章底部添加一个带有版权声明的区域。
请注意,在某些情况下,这些措施可能无法完全阻止其他用户复制或保存图片和内容,但可以增加对版权的保护。