WP 2.0.1 에서 WP-Shortstat 문제 해결.


2006년 2월 2일 by 김 승엽 View blog reactions

WP-Shortstat을 워드프레스를 사용한 초기부터 사용하고 있고, 또 이것 저것 건드린 부분이 많아서 다른 통계용 툴들을 사용하고 있음에도 애착이 많이 갑니다. 사실 Shortstat용 플러그인인 Pathstat까지 억지로 붙이고 나서는 리퍼러 정보나 최근의 접속자들을 알아보기 편해서 자주 들여다 봤는데 WordPress 2.0.1 로 업데이트 하고 났더니 이 놈이 제대로 동작하지 않아서 정들었던 이 플러그인을 이제 지워야 하려나 보다 했는데 아쉬운 생각이 들어 건드려 보기로 했습니다.
(붙여 놓고 나서 Pathstat은 동작하는데 날짜별 히트수 변화 수치를 그래프로 보여주는 PageChart는 제대로 붙이지 못했습니다. Ajax를 이용하는 것 같은데 제가 기술 없이 감으로 때려 고치는 식이라 거기까지는 미치지 못했습니다. 혹 소스를 수정해 보고 싶으신 분들이 있으면 코멘트 남겨 주십시오.)
Pagechart

2.0.1로 업데이트 되면서 바뀐 파일 중에 가장 의심의 가는 파일이 /wp-include/pluggable-function.php여서 이파일을 이전 버전과 비교 해보면서 문제가 될 만한 부분들을 체크하다, 아래 부분이 추가되어서 작동하지 않는다는 것을 알아냈습니다.

if ( !function_exists('check_admin_referer') ) :
function check_admin_referer() {
$adminurl = strtolower(get_settings('siteurl')).'/wp-admin';
$referer = strtolower($_SERVER['HTTP_REFERER']);
if (!strstr($referer, $adminurl))
die(__('Sorry, you need to
<a href="http://codex.wordpress.org/Enable_Sending_Referrers">
enable sending referrers</a> for this feature to work.'
));
do_action('check_admin_referer');
}
endif;

이 부분을 주석처리 하면 작동하지만 플러그인이 작동하지 않는다고 워드프레스 코어 파일을 수정하는 것이 이상해서 WP-Shortstat을 다시 들여다 봤는데

function track() {      // Only public function
global $wpdb;
if($wpdb->is_admin
|| strstr($_SERVER['PHP_SELF'], 'wp-admin/')
|| strstr($_SERVER['PHP_SELF'], 'wp-content/plugins/')
|| is_404()
// || is_admin_page()
)return; // let's not track the admin pages — no one cares.

아래에서 두번째 라인 (is_admin_page)를 주석처리 해 주시면 일단 동작합니다. WP-Shortstat의 처음 부분에 is_admin_page란 함수에서 check_admin_referer함수를 쓰는 데 여기서 문제가 발생하는 모양입니다. 이렇게 바꿔서 동작은 합니다만 언제나처럼 반창고 수정이니 떨어져버리기 전에 제대로 된 방법이 나왔으면 좋겠습니다.
(당연한 말이지만 2.0.1로 업데이트 하신 뒤에 문제가 생기신 분들만 시도해 보시길 바랍니다.)
참! 업그레이드 후에 akismet 에 입력한 API 키가 잘못됐다고 나오는데 혹시 왜 그러는지 아시는 분 계십니까?

추가

if( !function_exists('is_admin_page') ) {
function is_admin_page() {
        if (function_exists('check_admin_referer')) {
                        return false;
                }
        else {
                        return true;
        }
        }
 }

주석처리 대신 위의 코드 처럼 false와 true를 바꿔줘도 됩니다.

추가
WP-shortstat의 자잘한 버그들을 수정한 버전이 올라와 있는 블로그 입니다. 2.0.1에서의 작동하지 않는 문제역시 포함되어 있습니다. 워드프레스 코덱스에 들렀다 찾았는데 다운로드해 바로 사용하시는 것보다는 수정된 부분만 찾아서 적용시키시는 게 좋을지도 모르겠습니다. (국가별 코드 식별하는 호스트가 독일쪽 호스트로 바뀌어 있습니다.)
More update for the wp-shortstat Plugin



Show Related Posts List from Local

Show Related Posts List from ALLBLOG

10 Responses to “WP 2.0.1 에서 WP-Shortstat 문제 해결.”

  1. 김 승엽 c-kr말하길

    개울// 082님께서 wp-shortstat에 ajax를 접목해 로딩시간을 단축시킨 버전을 내놓으셨습니다. 그것도 한번 참고하시면 좋을 것 같습니다. 저도 언제 지금까지 제가 수정해서 쓰고 있는 버전을 한번 공개해야 겠네요. (여러부분이 수정돼서 제작사 사이트에 있는 것과 많이 다릅니다.)
    http://unfusion.kunsan.ac.kr/planet 플래닛 워드프레스 한국 사이트 주소입니다. 혹 참여해 주실 수 있으면 연락 주세요 :)

  2. 개울 c-kr말하길

    워프를 2.0.1로 업그레이드 한 이후로 shortstat가 작동을 멈추어서 그냥 지워야 하나 고민하고 있었는데 김승엽님께서 해결 방법을 알려주시네요. 고맙습니다. :)

    종종 들러서 워드프레스 관련 포스트 잘 보고 있습니다.

  3. 김 승엽 c-kr말하길

    ceprix// 아 그러셨군요. 도움이 되셨다니 다행입니다. :)
    참 블로그의 이전 포스트에 Pathstat 끼워 놓은 wp-shortstat 도 올려놨습니다. 제가 잘 몰라서 대충 붙여 놨지만 바뀐 부분 추가하시면 아마 Pathstat도 같이 사용하실 수 있을 겁니다. ( wp-shortstat에 붙이지 않고 따로 Pathstat만 쓰는 방법도 있구요.)

  4. ceprix c-us말하길

    우와.. 감사합니다.
    WP 1.5 사용해오고 있다가 얼마 전에야 새로 블로그 디자인 바꾸면서 WP 2.0.1로 업데이트했거든요.
    다시 ShortStat 설치하는 것도 귀찮고 해서, WP ShortStat 플러그인을 써봤는데 안 먹히더라구요.
    덕분에 수정된 플러그인 다운로드 받아서 잘 쓰고 있습니다. 정말 감사~ :D

  5. 김 승엽 c-kr말하길

    082 // 말씀하신 대로 이전 코멘트와 트랙백은 지웠습니다. 트랙백 다시 보내주세요.

    바람 // akismet은 아무래도 askimet 설정 페이지에 들어갈 때 이상하게 느려진 것을 보면 제 쪽이 아니라 다른 쪽의 문제일 수도 있을 것 같습니다. shortstat은 아 포스트 의 방법이나 082 님의 방법을 참조하시면 될 것 같습니다. 일단 작동은 하거든요.

  6. 0 8 2 N e T c-kr말하길

    wp-shortstat 플러그인 수정2…
    워드프레스가 2.0.1로 업그레이드 되면서, wp-shortstat에서 카운트가 올라가지 않는 문제를 절망클럽의 unfusion님께서 해결해 주셨습니다..

  7. 바람 c-kr말하길

    제 akismet은 정상적으로 작동합니다
    그리고 shortstat는 이상이 있다는 unfusion님의 말을 듣고 active 안하고 기다리고 있습니다^^

  8. 082net c-kr말하길

    확인결과.. 제가 코드를 잘못 수정했네요.. -_-; 그래서 함수 자체가 작동하지 않아서 wp-shortstat이 제대로 작동하는냥 했던거였습니다.(끄응…)

    unfusion님께서 말씀하신 미리보기창이 리로드될때 카운트 올라가는건 이전에 어떠했는지 저도 신경쓰질 않아 잘 모르겠네요..크흐..

    대신 다른 방법으로 admin으로 로그인하면 그다음부터는 카운트에 포함되지 않게 해봤는데, 잠깐 테스트 결과로는 제대로 작동하네요..

    트랙백 보내겠습니다. unfusion님께서도 테스트 해봐 주세요.

  9. 김 승엽 c-kr말하길

    수정한 이후에 보니 편집페이지 하단에 나오는 미리보기 나오는 것을 히트수에 증가시키던데 예전에도 히트수에 포함 되었었는지 기억을 못해서 이게 주석처리한 부분 때문인지를 모르겠습니다. 원 제작자가 새 버전도 내놓고 했으면 좋겠는데 소식이 없는게 안타깝습니다. 몇 부분 더 손보면 워드프레스에서 사용하기에는 정말 좋은 플러그인 같은데요…. 참 is_admin page 함수 어떻게 수정하셨는지 좀 알려주세요.

  10. 082net c-kr말하길

    unfusion님 덕분에 쉽게 수정해서 자알~ 작동중입니다. ;)

    잘은 모르겠지만.. is_admin_page function이 딱히 필요하진 않을듯…. 그 부분 다른 코드들이 다 처리를 해주는거 아닐까요?

    나름 검색을 통해 is_admin_page function을 수정했는데 일단 작동은 하는군요.. 사용해보고 이상 없으면 트랙백이나 코멘트 남기겠습니다.

Leave a Reply