德行使心灵明晰,使人不仅更易了解德行,而且也更易了解科学的真理。

——罗吉尔·培根

0x00 问题描述

近期,我申请了百家号和企鹅号的原创保护,为了保证本站的原创权益,我对网站主题的函数进行了改造

wordpress添加文章原创版权和转载声明插图

复制文章内容时实现以下操作:

文章内容如:EswINK正式内容
复制后显示如下:

EswINK正式内容
————————————————
版权声明:本文为EswInk「贰叁伍」的原创文章,转载请附上原文出处链接及本声明。 
原文链接:*当前页面链接

0x01 代码实现

JS代码

新建js文件,并添加以下内容,监听copy,并命名为copyright.js

function addLink(){
    var selection = window.getSelection();
    pagelink = "<br/>————————————————<br/>版权声明:本文为EswInk「贰叁伍」的原创文章,转载请附上原文出处链接及本声明。<br/>原文链接:" + document.location.href;
    copytext = selection + pagelink;
    newdiv = document.createElement('div');
    newdiv.style.position = 'absolute';
    newdiv.style.left = '-99999px';
    document.body.appendChild(newdiv);
    newdiv.innerHTML = copytext;
    selection.selectAllChildren(newdiv);
    window.setTimeout(function () {
        document.body.removeChild(newdiv);
    }, 100);
}
document.oncopy = addLink;

PHP代码

添加HOOK,实现在wordpress的footer添加js代码,在主题的functions.php添加以下代码

//文章复制版权说明
    function copyright_tips() {
    echo '<script src="https://cdn.bootcdn.net/ajax/libs/layer/3.4.0/layer.min.js"></script>';
    echo '<script src="copyright.js文件目录"></script>';
    }
    add_action( 'wp_footer', 'copyright_tips', 100 );

0x02 解决预览

以下是添加版权声明的复制情况

wordpress添加文章原创版权和转载声明插图1