通过简单的代码配置,让用户复制文章内容时自动带上博客的出处声明。今天就给大家分享这个功能的实现方法。
一、核心原理
这个功能的核心是用JavaScript监听浏览器的“复制事件”——就像给文章装了个“智能触发器”,一旦用户选中内容复制,就自动在复制文本末尾拼接上你的博客名称、域名和原文链接,相当于给每段复制的内容加了“专属签名”,既不影响用户正常复制,又能明确版权归属。
二、具体实现
方法一:自定义HTML小工具(全局生效)
适合大多数WordPress用户,操作简单,直接在后台配置即可,步骤如下:
第一步:添加样式(让声明更美观)
先给自动添加的出处声明设置样式,避免和正文混淆,看起来更协调:
- 登录WordPress后台,依次进入「外观 → 自定义 → 额外CSS」;
- 粘贴以下CSS代码(可根据自己的博客主题调整颜色、字体大小):
CSS
/* 复制声明样式 */
.copy-copyright {
color: #666;
font-size: 14px;
margin-top: 10px;
padding-top: 10px;
border-top: 1px dashed #eee;
}- 点击「发布」保存样式设置。
第二步:添加JavaScript代码(核心步骤)
- 进入「外观 → 小工具」,找到「页脚」区域(将代码放在页脚不影响页面加载速度);
- 点击「添加小工具」,搜索并选择「自定义HTML」;
- 粘贴以下JavaScript代码,务必替换
你的博客名称和你的博客域名(如“天海博客”和“https://woolyun.com/”):
JavaScript
<script>
// 监听全局复制事件
document.addEventListener('copy', function(e) {
// 阻止默认复制行为
e.preventDefault();
// 获取用户选中的文本
const selectedText = window.getSelection().toString().trim();
if (!selectedText) return; // 若未选中内容,不执行后续操作
// 拼接声明文本(可自定义内容)
const copyrightText = `\n\n本文复制自【你的博客名称】,转载请注明出处:https://你的博客域名/\n原文链接:${window.location.href}`;
const finalText = selectedText + copyrightText;
// 将拼接后的文本放入剪贴板
e.clipboardData.setData('text/plain', finalText);
});
</script>- 点击「保存」,刷新博客文章页面,测试复制功能即可。
方法二:主题自定义HTML(小工具失效时用)
如果方法一的小工具区域不生效,可直接将代码添加到主题的头部或底部,同样全局生效:
- 登录WordPress后台,进入「外观 → 自定义 → 自定义HTML」;
- 在「页脚HTML」(推荐,加载更快)或「头部HTML」中,粘贴方法一中的JavaScript代码(无需重复添加CSS,已在额外CSS中配置);
- 点击「发布」,打开文章测试:选中内容复制后粘贴,会自动带出出处声明。
三、按需调整
1. 自定义声明文本内容
可根据需要修改声明的格式和信息,比如添加作者、版权日期等,示例代码:
JavaScript
const copyrightText = `\n\n本文作者:XXX | 来源:【你的博客名称】\n转载请注明出处:https://你的博客域名/ \n原文链接:${window.location.href}\n版权所有 © 2025 禁止商业转载`;2. 仅在文章页生效(避免首页/分类页触发)
如果不想让首页、分类页等非文章页面也添加声明,可给代码加判断条件(修改JavaScript部分):
JavaScript
document.addEventListener('copy', function(e) {
// 仅在单篇文章页执行(WordPress单篇文章页body含「single-post」类)
if (document.body.classList.contains('single-post')) {
e.preventDefault();
const selectedText = window.getSelection().toString().trim();
if (!selectedText) return;
const copyrightText = `\n\n本文复制自【你的博客名称】,转载请注明出处:https://你的博客域名/\n原文链接:${window.location.href}`;
e.clipboardData.setData('text/plain', selectedText + copyrightText);
}
});3. 排查生效问题
如果配置后不生效,可检查3点:
- 代码是否正确粘贴,博客名称和域名是否替换,无语法错误;
- 浏览器是否允许JavaScript执行(需开启,默认都是开启的);
- 是否有插件冲突(暂时禁用其他插件,重新测试)。
五、总结
以上两种方法都是通过原生JavaScript实现,操作简单且兼容性好。配置后,用户复制文章内容时会自动带上出处,既能保护原创权益,又能让转载的内容为你的博客带来流量,一举两得。
