[워드프레스] 블로그 글 복사 시 출처를 자동으로 표시하는 방법

참고: 인기 테마인 BE 테마(33%)The 7(35%) 할인 행사를 진행하고 있습니다.

이 블로그에서는 글 무단 복제와 이미지 무단 참조 때문에 지난 몇 달 동안 일부 카테고리에서 글 복사가 안 되도록 설정했지만(참고), 이로 인해 글 복사 방지의 기능보다는 사용자들의 불편이 따라서 글 복사 방지 기능을 해제하고 대신 글 복사 시 출처를 표시하도록 바꾸었습니다.

워드프레스에서 블로그 글 복사 시 출처를 자동으로 표시하려면 플러그인을 사용하는 방법과 함수를 사용하는 두 가지 방법을 생각해볼 수 있습니다.

이 기능을 하는 플러그인의 경우 Append Link on CopyAdd Link to Copied Text 정도가 있습니다.

"Add Link to Copied Text" plugin for WordPress

“Add Link to Copied Text” plugin for WordPress

하지만 이런 단순한 기능을 위해 플러그인을 설치하는 것은 비추입니다. 아무래도 플러그인을 많이 사용하는 것은 사이트에 좋지 않은 영향을 줄 수 있기 때문입니다.

이 글에서 jQuery로 구현하는 방법이 나와 있습니다(jsfiddle). 또는, 다음과 같은 코드를 사용 중인 테마의 함수 파일(functions.php)에 추가하면 방문자들이 블로그 글 복사 시 출처가 자동으로 표시되도록 할 수 있습니다.

function add_copyright_text() {
if (is_single()) { ?>
<script type='text/javascript'>
function addLink() {
if (
window.getSelection().containsNode(
document.getElementsByClassName('entry-content')[0], true)) {
var body_element = document.getElementsByTagName('body')[0];
var selection;
selection = window.getSelection();
var oldselection = selection
var pagelink = "<br /><br /> 출처: <?php the_title(); ?> <a href='<?php echo wp_get_shortlink(get_the_ID()); ?>'><?php echo wp_get_shortlink(get_the_ID()); ?></a>"; //Change this if you like
var copy_text = selection + pagelink;
var new_div = document.createElement('div');
new_div.style.left='-99999px';
new_div.style.position='absolute';

body_element.appendChild(new_div );
new_div.innerHTML = copy_text ;
selection.selectAllChildren(new_div );
window.setTimeout(function() {
body_element.removeChild(new_div );
},0);
}
}
document.oncopy = addLink;
</script>

<?php
}
}
add_action( 'wp_head', 'add_copyright_text');
// Source: wpbeginner.com

위의 코드를 적용하면 글 출처 링크가 http://www.example.com/?p=123과 같이 기본 고유주소 형식으로 표시됩니다. 만약 로그아웃 사용자에게만 위의 코드를 적용하려면 if (is_single()) 대신 다음 코드를 사용합니다.

if (is_single() && !is_user_logged_in())

마찬가지로 관리자의 경우 글을 복사해도 출처가 표시되지 않도록 하려면 다음 코드를 사용합니다.

if (is_single() && !current_user_can('administrator'))

위와 같이 관리자 여부를 체크하는 코드를 삽입해주지 않으면 내 블로그의 글을 복사하여 사용하려고 할 때마다 “출처”가 자동으로 표시되어 불편할 수 있습니다.

워드프레스가 아닌 플랫폼에서는 위에 언급한 jQuery 스크립트 링크를 참고하거나 이 글의 javascript 스크립트를 사용하여 동일한 기능을 구현할 수 있습니다. 또는 이 사이트에서 다운로드할 수 있는 소스를 사용하는 것도 가능합니다.

참고:



기부를 통해 이 블로그를 후원하실 수 있습니다.
워드프레스 설치/제작/문제해결이 필요한 경우 서비스(유료)를 요청해주세요.