워드프레스의 개별 글에 조회 카운터 달기

Last Updated: 2017년 02월 21일 2개 댓글

들어가며

워드프레스에서 개별 글에 카운터를 다는 방법은 크게 두 가지 방법이 있습니다. 첫 번째는 플러그를 사용하는 방법이고 두 번째는 함수를 사용하는 방법입니다.

카운터 플러그인

워드프레스 글 조회 카운터 플러그인으로 쓸만한 것은 두 가지가 있습니다. 첫 번째는 Post Views Counter라는 플러그인입니다.
Post Views Counter
Post Views Counter는 다양한 옵션을 제공하며 평가도 괜찮은 훌륭한 플러그인입니다.

두 번째는 Simple Post Views Counter라는 플러그인입니다.
Simple Post Views Counter
이 플러그인은 플러그인 이름대로 매우 심플하며 별도의 옵션이 제공되지 않습니다. 쿠키를 체크하지 않기 때문에 중복 카운트 방지 기능이 없습니다. 사용도 간단한 편이지만, 초보자에게는 조금 어려울 수 있습니다. 다음 코드를 테마의 소스 파일에 추가해야 합니다.

<?php echo_views(get_the_ID()); ?>

함수를 사용하여 워드프레스 글에 카운터 달기

다음으로 함수를 사용하는 방법이 있습니다. 인터넷을 검색해보면 다양한 함수가 검색됩니다. 그 중에서 http://wpsnipp.com/ 사이트에서 제공하는 함수가 쓸 만합니다.

다음 함수를 테마 함수 파일(functions.php)에 추가합니다.

function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views'; // Views는 적절한 표현으로 변경 가능
}
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
// Remove issues with prefetching adding extra views
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

그런 다음 다음 코드를 워드프레스 루프 내의 single.php 파일에 추가합니다.

<?php setPostViews(get_the_ID()); ?>

마지막으로 다음 코드를 글 내부에서 표시하고자 하는 위치에 추가합니다.

<?php echo getPostViews(get_the_ID()); ?>

플러그인 설치를 원하지 않는 분은 함수를 사용한 방법을 고려해 볼 수 있습니다. 이 함수에서는 쿠키를 체크하지 않기 때문에 중복 카운트 방지 기능이 없습니다. 원하는 경우 직접 쿠키를 체크하는 코드를 추가할 수 있습니다.

참고로 프런트 페이지에 방문 카운터를 달려는 경우에는 다양한 방법으로 간으합니다. JetPack의 사이트 통계 기능에서 통계를 끌어오거나 WP Statistics 플러그인의 통계를 이용하는 방법도 생각해볼 수 있습니다(아래 참고 링크 참조). 또는 Visitor Counter Plugin과 같은 별도의 플러그인을 사용하는 것도 생각해볼 수 있습니다.

참고:


2 개 댓글

Leave a Comment

  1. 오늘 아들래미 다니는 수영장에 와서 이것저것 눌러보다 워드프레스에 카운트룰 어찌할까 생각하다 구글 검색을 하니 이글이 제일 위에 뜨네요..

    검색은 워드프레스 카운트로 했고요.

    이 사이트가 나날이 발전하는 것 같아 좋네요.

    응답
    • 감사합니다~

      저는 별도의 플러그인을 설치하지 않고 이 글에 나와 있는 함수를 사용하여 개별 글에 카운터를 달았다가, 현재 테마로 변경하면서 테마 소스를 수정하는 것이 귀찮아서 카운터를 제거한 상태입니다.

      다른 블로그에서는 WP-Statistics라는 플러그인을 설치하고, WP-Statistics에 저장된 조회수를 가져오는 방식을 사용하고 있습니다. (이 방법도 테마 소스를 수정해야 합니다.)

      플러그인을 많이 설치하는 것이 부담스럽지 않으면 적당한 플러그인을 설치하는 것이 제일 간편한 것 같습니다.

      응답