WordPress: textcube에서 보낸 트랙백 문제

최근에 textcube라거나 me2day에서 보낸 트랙백을 제대로 받지 못하는 문제가 있었습니다. 워드프레스를 2.7 버젼으로 업글레이드 한 이후의 문제인 줄 알았는데, 그게 아니었네요. :)

인터넷을 찾아보니 비슷한 문제를 경험하고 있는 다른 분들이 있었고, 친절하게 Akismet의 문제라고 알려주시기까지 하네요. 이 말만 믿고 akismet에 메일도 보내고 난리를 피웠는데 알고보니 akismet의 문제가 아니었습니다.

Continue reading WordPress: textcube에서 보낸 트랙백 문제

워드프레스 2.7을 위한 Trackback for Korean 패치

새벽녘까지 웹서핑을 즐기다가 Trackback for Korean이란 플러그인을 발견하게되었습니다. 제가 만들었던 Korean Trackback과 같은 역할을 하는 플러그인인가 싶었는데, 살펴보니 완전히 다른 역할을 하는 플러그인이네요.

Korean Trackback은 Euc-kr로 오는 트랙백을 utf-8로 알아서 잘 변환하기 위한 플러그인이었다면, Trackback for Korean은 이글루스 밸리나 다음 블로거 뉴스에 트랙백을 보내기 위한 플러그인입니다.

그런데 플러그인을 활성화 시켰음에도 불구하고 체크 박스가 생기질 않는 것입니다.

문제가 생기는 Trackback for Korean 플러그인 내가 문제를 해결한 Trackback for Korean 플러그인

체크박스를 찾아 열심히 스크롤을 하다보니 왼쪽 스크린 샷에서처럼 이상한 위치에 체크박스가 생겨있었습니다. 체크박스가 삽입되는 시점의 문제라 판단하고, 패치를 시작했습니다.

우선 admin_footer action 대신 edit_form_advanced action을 사용해보았더니 대강 위치 문제는 해결할 수 있었습니다. 하지만 기본 UI와 매칭이 되질 않더군요. 이 정도에 만족을 할 순 없었습니다.

워드프레스 문서를 찾아보니 이런 식으로 관리자 폼에 어떤 항목을 추가하려면 add_meta_box()를 사용해야한다고 합니다. 문서를 따라 살짝살짝 코드를 바꿔주니 오른쪽 스크린 샷 같은 결과물을 얻을 수 있었습니다.

http://codex.wordpress.org/Function_Reference/add_meta_box

그리고 add_meta_box를 이용하면 해당 코드를 필요한 부분에만 삽입하기 때문에 현재 스크립트가 page.php 혹은 page-new.php 인지를 판단하는 코드도 제거해버렸습니다.

그런데 인덴트를 제 맘대로 조정하고 하다보니 diff를 만들 순 없을 것 같습니다. 수정된 trackback for Korean은 아래 url 에서 받아주세요.

http://mytears.org/resources/distfiles/trackback_ko.php.gz

프로젝트 페이지가 소스포지에 있던데, 우선 개발하신 분 블로그로 트랙백만 날려놓고버그 리포팅은 이따가 일어나서 해야겠습니다.

wordpress: 최근 추가한 플러그인들…

여기저기 돌아다니다 보니 멋진 플러그인들이 많길래 이것저것 추가해보았습니다.

1. Korean Trackback
이글루스에서 오는 트랙백이 euc-kr 로 인코딩되어 있기 때문에, utf-8 기반의 워드프레스에선 이글루스에서 보내는 트랙백을 제대로 받을 수 없기에… 직접 플러그인을 작성해서 추가해줬습니다. -_-v

url: http://b.mytears.org/2006/09/396

2. iG:Syntax Hiliter
혹시나 포스트에 프로그램 코드를 삽입할 일이 있을 경우를 대비해서, 코드 하일라이팅을 위한 플러그인을 추가했습니다. 상당히 많은 언어를 지원합니다만 sh (쉘스크립트) 는 지원하지 않아서 약간 아쉽네요. 사용 예는 아래와 같습니다.

url: http://blog.igeek.info/wp-plugins/igsyntax-hiliter/

3. wp-scripts, ajax-spoiler
wp-scripts 는 prototype.js 등을 헤더에 삽입해주는 역할을 하고, ajax-spoiler 는 tt 에서와 같이 텍스트를 숨겼다가 보여줬다 하는 기능을 사용할 수 있도록 해줍니다.

tt 처럼 그냥 단순히 보였다 감췄다 정도가 아니라 애니메이션 효과까지 줄 수 있어서 상당히 멋드러집니다. ;)

url: http://082net.com/tag/wp-scripts/
url: http://082net.com/tag/aj-spoiler/

4. bad behavior
request 를 분석해서 봇이라고 생각되면 차단합니다. 적용 후 확실히 스팸이 줄었습니다. (하루 120 통 쯤에서 10통 이하.. 그나마 akismet 에 나머지는 걸립니다.)

url: http://www.homelandstupidity.us/software/bad-behavior/

조금만 부지런하면 이래저래 편리해지는 아름다운 워드프레스 세상입니다. 혹시 또 멋진 플러그인들을 알고 계신 분들은 트랙백 부탁드리겠습니다. ;)

wordpress: korean trackback!

어제 까날옹이 egloos 에서 가볍게 트랙백을 날려주셨는데, egloos 에선 trackback 인코딩을 euc-kr 을 사용하는지 트랙백이 깨져서 와버렸네요. 혹시나 관련된 plugin 을 찾아봤지만 plugin 으로는 아직 존재하지 않는 듯 하고, 관련해서 wind-like 님이 문제를 해결한 버젼의 wp-trackback.php 파일을 배포하시더군요.

하지만 wordpress 기본 파일을 수정할 경우 업데이트를 할 때마다 다시 수정해줘야 하는 번거로움이 있기 때문에 그냥 plugin 을 작성해버렸습니다. 막상 plugin 을 작성하려고 보니 trackback_post 에 대한 action 은 글이 삽입된 이후에 실행되도록 되어 있더군요. 역시 그냥 wp-trackback.php 를 수정해서 사용해야 하는건가 하는 생각이 들었지만, 뭐 정도가 아니면 돌아가면 되는 법!! 이미 데이타베이스에 입력완료된 trackback 을 update 하도록 하는 hack 에 가까운 플러그인이 만들어져버렸습니다. -_-v

혹시나 필요한 분은 아래 url 에서 받아서 사용하시면 되겠습니다.

http://mytears.org/resources/distfiles/wp_korean_trrackback-1.0.zip

p.s) wind-like 님이 수정하신 버젼과는 다르게 ‘트랙백을 받는 경우’ 하고만 관련이 있습니다.