WordPress文章防复制代码

通过下面的JS代码,可以有效地防止别人直接复制拷贝你的文章,用frame标签引用你的文章时,会自动跳转到文章正常链接,同时禁止右键菜单。

使用方法一:

打开当前主题头部模

板header.php找到:<?php wp_head(); ?>将下面代码添加到后面:

复制代码
<script>
// 禁止右键www.wwttl.com提供学习
document.oncontextmenu = function() {
 return false
};
// 禁止图片拖放
document.ondragstart = function() {
 return false
};
// 禁止选择文本
document.onselectstart = function() {
 if (event.srcElement.type != "text" && event.srcElement.type != "textarea" && event.srcElement.type != "password") return false;
 else return true;
};
if (window.sidebar) {
  document.onmousedown = function(e) {
 var obj = e.target;
 if (obj.tagName.toUpperCase() == "INPUT" || obj.tagName.toUpperCase() == "TEXTAREA" || obj.tagName.toUpperCase() == "PASSWORD") return true;
 else return false;
 }
};
// 禁止frame标签引用
if (parent.frames.length > 0) top.location.replace(document.location);
</script>

使用方法二:

上面的方法查看源代码时有些乱,可以在当前主题目录新建一个名称为copyright.js文件,将下面代码添加进去:

复制代码
// 禁止右键
document.oncontextmenu = function() {
 return false
};
// 禁止图片拖放
document.ondragstart = function() {
 return false
};
// 禁止选择文本
document.onselectstart = function() {
 if (event.srcElement.type != "text" && event.srcElement.type != "textarea" && event.srcElement.type != "password") return false;
 else return true;
};
if (window.sidebar) {
  document.onmousedown = function(e) {
 var obj = e.target;
 if (obj.tagName.toUpperCase() == "INPUT" || obj.tagName.toUpperCase() == "TEXTAREA" || obj.tagName.toUpperCase() == "PASSWORD") return true;
 else return false;
 }
};
// 禁止frame标签引用
if (parent.frames.length > 0) top.location.replace(document.location);
一键复制

然后再将下面代码添加到当前主题函数模板functions.php的最后:

复制代码
function copyrightpro_scripts() {
 wp_enqueue_script( 'copyright', get_template_directory_uri() . '/copyright.js', array(),  false );
}
if (! current_user_can('level_10') ) {
add_action( 'wp_enqueue_scripts', 'copyrightpro_scripts' );
}

代码中加了判断,管理员登录状态一下,防复制代码无效。

当然上面的方法,也只是忽悠一下小白,浏览器禁用JavaScript后,将失去效果。

JS代码提取自:CopyRightPro插件

相关推荐
OpenAnolis小助手2 小时前
PHP 两个严重漏洞曝光,龙蜥社区 24 小时完成 3 版本修复
开发语言·操作系统·php·龙蜥社区
白山编程大哥2 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Flynt3 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
云边云科技_云网融合3 小时前
连锁门店组网怎么做?SD-WAN 多分支组网的架构选型、部署与成本结构
服务器·数据库·php
Csvn4 小时前
bundle优化
前端
北冥有鱼4 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
静默回滚4 小时前
视频压到 25 MB 以内,码率要算、音轨要扣、余量要留
前端
用户37203749260184 小时前
把 10MB 中文语义模型塞进浏览器:STSB 做到教师模型的 93%,但线上 top1 只有 42%
前端
光锥智能4 小时前
海康机器人举行2026移动机器人新品发布会:箱式存拣升级,「明智」系列发布
java·前端·机器人
计算机魔术师4 小时前
Anthropic 上市文件最吓人的一幕,不是亏损 807 亿
前端