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

2.0.1로 업데이트 되면서 바뀐 파일 중에 가장 의심의 가는 파일이 /wp-include/pluggable-function.php여서 이파일을 이전 버전과 비교 해보면서 문제가 될 만한 부분들을 체크하다, 아래 부분이 추가되어서 작동하지 않는다는 것을 알아냈습니다.
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을 다시 들여다 봤는데
아래에서 두번째 라인 (is_admin_page)를 주석처리 해 주시면 일단 동작합니다. WP-Shortstat의 처음 부분에 is_admin_page란 함수에서 check_admin_referer함수를 쓰는 데 여기서 문제가 발생하는 모양입니다. 이렇게 바꿔서 동작은 합니다만 언제나처럼 반창고 수정이니 떨어져버리기 전에 제대로 된 방법이 나왔으면 좋겠습니다.
(당연한 말이지만 2.0.1로 업데이트 하신 뒤에 문제가 생기신 분들만 시도해 보시길 바랍니다.)
참! 업그레이드 후에 akismet 에 입력한 API 키가 잘못됐다고 나오는데 혹시 왜 그러는지 아시는 분 계십니까?
추가
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
:
:
:
개울// 082님께서 wp-shortstat에 ajax를 접목해 로딩시간을 단축시킨 버전을 내놓으셨습니다. 그것도 한번 참고하시면 좋을 것 같습니다. 저도 언제 지금까지 제가 수정해서 쓰고 있는 버전을 한번 공개해야 겠네요. (여러부분이 수정돼서 제작사 사이트에 있는 것과 많이 다릅니다.)
http://unfusion.kunsan.ac.kr/planet 플래닛 워드프레스 한국 사이트 주소입니다. 혹 참여해 주실 수 있으면 연락 주세요
워프를 2.0.1로 업그레이드 한 이후로 shortstat가 작동을 멈추어서 그냥 지워야 하나 고민하고 있었는데 김승엽님께서 해결 방법을 알려주시네요. 고맙습니다.
종종 들러서 워드프레스 관련 포스트 잘 보고 있습니다.
ceprix// 아 그러셨군요. 도움이 되셨다니 다행입니다.
참 블로그의 이전 포스트에 Pathstat 끼워 놓은 wp-shortstat 도 올려놨습니다. 제가 잘 몰라서 대충 붙여 놨지만 바뀐 부분 추가하시면 아마 Pathstat도 같이 사용하실 수 있을 겁니다. ( wp-shortstat에 붙이지 않고 따로 Pathstat만 쓰는 방법도 있구요.)
우와.. 감사합니다.
WP 1.5 사용해오고 있다가 얼마 전에야 새로 블로그 디자인 바꾸면서 WP 2.0.1로 업데이트했거든요.
다시 ShortStat 설치하는 것도 귀찮고 해서, WP ShortStat 플러그인을 써봤는데 안 먹히더라구요.
덕분에 수정된 플러그인 다운로드 받아서 잘 쓰고 있습니다. 정말 감사~
082 // 말씀하신 대로 이전 코멘트와 트랙백은 지웠습니다. 트랙백 다시 보내주세요.
바람 // akismet은 아무래도 askimet 설정 페이지에 들어갈 때 이상하게 느려진 것을 보면 제 쪽이 아니라 다른 쪽의 문제일 수도 있을 것 같습니다. shortstat은 아 포스트 의 방법이나 082 님의 방법을 참조하시면 될 것 같습니다. 일단 작동은 하거든요.
wp-shortstat 플러그인 수정2…
워드프레스가 2.0.1로 업그레이드 되면서, wp-shortstat에서 카운트가 올라가지 않는 문제를 절망클럽의 unfusion님께서 해결해 주셨습니다..
제 akismet은 정상적으로 작동합니다
그리고 shortstat는 이상이 있다는 unfusion님의 말을 듣고 active 안하고 기다리고 있습니다^^
확인결과.. 제가 코드를 잘못 수정했네요.. -_-; 그래서 함수 자체가 작동하지 않아서 wp-shortstat이 제대로 작동하는냥 했던거였습니다.(끄응…)
unfusion님께서 말씀하신 미리보기창이 리로드될때 카운트 올라가는건 이전에 어떠했는지 저도 신경쓰질 않아 잘 모르겠네요..크흐..
대신 다른 방법으로 admin으로 로그인하면 그다음부터는 카운트에 포함되지 않게 해봤는데, 잠깐 테스트 결과로는 제대로 작동하네요..
트랙백 보내겠습니다. unfusion님께서도 테스트 해봐 주세요.
수정한 이후에 보니 편집페이지 하단에 나오는 미리보기 나오는 것을 히트수에 증가시키던데 예전에도 히트수에 포함 되었었는지 기억을 못해서 이게 주석처리한 부분 때문인지를 모르겠습니다. 원 제작자가 새 버전도 내놓고 했으면 좋겠는데 소식이 없는게 안타깝습니다. 몇 부분 더 손보면 워드프레스에서 사용하기에는 정말 좋은 플러그인 같은데요…. 참 is_admin page 함수 어떻게 수정하셨는지 좀 알려주세요.
unfusion님 덕분에 쉽게 수정해서 자알~ 작동중입니다.
잘은 모르겠지만.. is_admin_page function이 딱히 필요하진 않을듯…. 그 부분 다른 코드들이 다 처리를 해주는거 아닐까요?
나름 검색을 통해 is_admin_page function을 수정했는데 일단 작동은 하는군요.. 사용해보고 이상 없으면 트랙백이나 코멘트 남기겠습니다.