얼마전 부터 잘 되던 보내는 트랙백 기능이 안 되며, 글을 수정할 때 글쓰기 화면에서 트랙백 주소 넣는 칸(input)에 트랙백 주소가 그대로 있더군요. 예전에는 트랙백을 보내면 트랙백 주소 넣는 칸 아래에 표시가 되었습니다.
혹시 워드프레스 파일 가지고 장난치다 실수했나 싶어 이런 저런 쇼도 해보고, 파일을 새로 받아 덮어쓰기도 해봤지만 해결이 되지 않더군요.
그러다 절망클럽에서 WordPress 2.0 업데이트 후 트랙백 안 보내질 때란 글에서 아래 내용을 발견했습니다.
DB 업그레이드를 하면서 to_pinged 테이블에 공백이나 탭이 들어가서 그런다고 합니다.
UPDATE WPprefix_posts SET to_ping=''
위의 Sql 명령을 실행해주면 됩니다. 혹시 업그레이드 후 트랙백에 문제가 있으시다면 확인해 보세요. (prefix를 변경하지 않으셨다면 wp_posts 입니다.)
트랙백에 문제가 있으면 to_ping 에 트랙백 주소가 남아있고 pinged_to 테이블이 비어 있습니다.
이렇게 해서 sql 명령을 통해 to_ping 테이블을 비워주고 트랙백을 시도했으나 여전히 안되더군요..
글 하단에 이 방법으로도 안 될 경우에 적용할 수 있는 방법에 대한 링크가 있어 그 쪽으로 가봤더니 코어파일을 수정해야 하더군요..
원래는 됐었는데, 갑자기 안되는 걸로 봐서 코어 파일 수정과는 별개의 문제로 보고 계속 머리를 굴렸습니다. 그리고 많은 삽질(?)을 통해 아래와 같은 결과를 얻었습니다.
워드프레스에서 영문판 기준 Option – Discussion 에 있는 Attempt to notify any Weblogs linked to from the article (slows down posting.) 기능을 활성화 했을 경우, 본문의 링크 중 http://www.allblog.net/Tags/View.html?Tag=wordpress 처럼 =(equal, 등호)이 포함되어 있을 경우 트랙백이 보내지지 않았습니다.
원인은 알 수 없지만 ‘=’ 처리 과정에서 어떠한 문제가 생기지 않았을까 하는 추측만 해 볼 뿐입니다.
참고로 전, wordpress 2.0.4 utf-8 영문판을 사용합니다. 어쩌면 저의 개인적인 설정문제일 수도 있을 것 같지만, 유사한 경우에 조금이나마 도움이 되지 않을까 싶어 적어봤습니다.