WordPress 2.1과 Ultimate Tag Warrior

이 글에서 소개 한 방법으로는 문제가 확실하게는 해결되지 않아서, 다른 방법을 찾아 보았습니다. 새로운 방법을 확인해서 적용 해 보세요.

저 처럼 실험 정신이 강하여 이미 WordPress 2.1 로 업그레이드 한 또는 하려는 분들 중 UTW를 사용중이신 분들 께서는 댓글 때문에 해당 글의 태그들이 모두 리셋(reset)되어 버리는 불상사를 겪을 수 있으니 주의하시기 바랍니다.

2.1로 업그레이드 한 뒤에도 며칠동안 전혀 이런 문제를 눈치채지 못하다가 바로 이전 글의 태그가 자꾸 사라져 버리는 걸 이제서야 눈치 챘습니다.

검색 해 보니 증상은 최근 공개된 UTW v3.1415926 이전 판을 사용 중일때, 아래에 해당되는 경우 해당 글의 태그가 모두 사라져 버리는 것 이었습니다 :

  • 1. 댓글이 등록 될 때
  • 2. moderate 상태의 댓글을 approve 할 때
  • 3. Akismet 에 스팸으로 등록 된 댓글을 ‘no spam’ 으로 되돌릴 때

최근 공개된 UTW v3.1415926 에서는 1번의 경우는 해결 되었으나 2,3번의 경우는 여전히 문제를 유발시키 더군요. UTW 포럼에 등록되어 있는 답글 중 해당 문제가 발생하는 동안의 Mysql log 부분을 참고해서 원인을 찾아보니 “wp_update_comment_count()” 함수에서 “do_action('edit_post', $post_id);“를 실행하는게 그 원인 이었습니다.

댓글 갯수를 업데이트 하는 동안에 왜 ‘edit_post’ 관련 hook를 실행하는 지를 저로서는 이해 할 수 없지만, 어쨓든 임시적으로 나마 이 문제를 해결 하려면 ‘ultimate-tag-warrior-actions.php‘ 파일의 ‘ultimate_save_tags()‘ 함수를 아래와 같이 수정 해 주면 됩니다.

백업의 중요함을 다시 한번 깨닫는 순간 이었습니다:)

6 thoughts on “WordPress 2.1과 Ultimate Tag Warrior”

  1. Hello. Thanks for the fix. I posted this on the Neato site also. The fix works, but if you delete a comment that was previously approved, the tags disappear again.

    I am using the latest 2.1 stable build.

  2. astraea//
    그러게요 저도 몇일정도 늦어져서 말일경에나 나올 줄 알았는데 말이죠…

    김경태//
    마찬가지로 wp_update_comment_count()” 함수에서 “do_action('edit_post', $post_id);“을 실행 하기 때문에 발생하는 문제입니다. 댓글로 설명하면 길어지니 글로 하나 작성하도록 할께요.

  3. jerome을 쓰고 있는데, 똑같은 문제가 생기는 것 같습니다.
    댓글이 하나 달리고는, 그 포스트의 태그가 사라져 버렸습니다.
    스팸 관련해서는 확인해보지 않았지만, 아마 같은 현상인 것 같은데
    언제 손 볼 수 있을지 모르겠네요~~:oops:

Comments are closed.