워드프레스에서 내가 보낸 트랙백 주소 표시


전에 처음으로 어떤 블로그의 글에 대한 글을 쓰기 위해서 트래백을 한 적이 있다.
내가 쓴 글은 인터렉션 디자인을 해야 위대한 디자이너인가 인데, 다시 읽어 보니 어떤 블로그의 글에 대한 것인지를 알 수가 없었다.

다른 사람의 블로그 글에 의견을 달 때, 간단한 것이면 바로 코멘트에 남겨도 되지만, 조금 긴 글을 달거나 내 글을 물리적으로 내 블로그에 넣기 위해서는 내 블로그에 글을 쓰고, 원래 글의 트래백 주소로 핑을 하게 된다.

내가 핑을 한 원래 글에는 자동으로 코멘트 처럼 내 글이 달린다. 그림은 내 블로그거 아니라 내가 트랙백 핑을 한 블로거에 달린 내 블로그의 제목과 요약이다.

 

그런데, 정작 내 블로그의 글에는 원래 이 글을 쓰게 된 글의 주소가 안보인다. 물론, 워드프레스에서 자동으로 안보인다는 것을 말한다. 내가 쓴 글을 자세히 읽어 보니 맨 마지막에 원래 글의 주소를 적어 놓았다는 것을 발견했다.

내 기억엔 워드프레스에서 글을 쓸 때 Send trackbacks to 에 원래 글의 URL를 기록했었는데, 글을 수정 모드로 들어가니 그 URL을 찾을 수가 없었다.

Send trackbacks to

 

그래서 워드프세스의 디비에서 wp_posts 테이블을 보았더니, pinged 라는 필드에 그 URL이 저장되어 있었다.

오케이,

그럼, 글 보여주는 템플리트인 single.php 에서 보여주면 되겠네.

트랙백 핑을 한 것에 대한 정확한 뜻을 몰라서 그냥 글의 상단에 Pinged URL 이라고 표시했다. 트랙백을 한 것을 내가 글을 쓸 때 핑을 한 URL이라고 생각했기 때문이다.

 

pinged url

 

구현 방법은 간단하다.트래백 핑을 하기 위해서는 글을 쓸때 트래백 핑을 한 URL을 입력하게 되어 있고, 그 URL 은 pinged 라는 필드에 저장되어 있다.

따라서 사용하는 템플리트의 single.php 를 열어서 원하는 곳에 아래과 같이 표시하면 원래 트랙백을 한 URL을 표시할 수 있게 된다.

나는 아래와 같은 소스로 구현을 했는데, 알고 보니 여러개의 트랙백을 보낸 경우 한개의 필드에 엔터코드로 구별해서 저장하고 있었다. 그래서 아래와 같이 하면 한줄에 쭈욱 나오게 된다.

<?php // if ($post->pinged  <> ” ) echo “Trackbacked to :  <a href=$post->pinged >$post->pinged </a> <br>”; ?>

내 글에 댓글을 달아 준 절망클럽 님의 글을 가 보니 이 문제를 해결해 놓았다. 문자열 안에 있는 엔터코드를 구분자로 해서 URL을 뽑아낼 수 있다.  아래 소스 코드는  절망클럽님이 작성한 것에 css 등을 넣은 것이다.

<?php if ($post->pinged <> ”) {
$pings = ‘<p class=”postmetadata”>’.'<h4>이 글이 트랙백을 보낸 곳</h4>’. ‘ ‘;
$pings .= “<blockquote>”;
$pings .= “<ul class=related_post>”;
$already_pinged = explode(“\n”, trim($post->pinged));
foreach ($already_pinged as $pinged_url) {
if (“!” != substr($pinged_url,0,1)){
$pings .= “<li> \n\t<a href=\”$pinged_url\”>$pinged_url</a> </li>”;}
else {
$pinged_url = substr($pinged_url,1);
$pings .= “<li> \n\t<a href=\”$pinged_url\”>$pinged_url</a> </li>”;}
}
$pings .=”</ul>”;
$pings .=”</blockquote>”;
$pings .= ‘</p>’;
echo $pings;
}
?>

 

원래 URL의 글의 제목을 표시하고 싶었는데, 디비에 저장되어 있지 않았다. PHP로 URL을 이용해서 그 페이지의 제목을 가져올 수는 있는데, 문제는 트래백한 URL은 직접 그 글의 URL이 아니라 리다이렉트를 하기 때문에 내가 아는 방법으로은 라디이렉트한 URL의 제목을 가져올 수가 없었다. 아쉽지만 이번에는 포기하고, 시간나면 리다이렉트한 URL을 원격으로 열 수 있는지 알아봐야 겠다.

블로그 코멘트를 통한 계속적인 커뮤니티케이션 방법은? 이란 포스트에서도 다른 블로거와 코멘트를 통한 계속적인 커뮤니케이션 방법이 있었으면 좋겠다고 했는데, 트랙백을 한 글에 서로 링크를 걸어서 시스템적으로 최소한 연관성을 갖게 하지 않았나 싶다.







일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.



추천 글



















플랭크스타: 플랭크 타이머

목표 시간, 세트 등 다양한 방식을 지원하는 플랭크 타이머, 음성 안내, 일별/월별/연도별 운동 기록 관리












7 Comments

Add a Comment

이메일 주소는 공개되지 않습니다.

































채널추가 버튼을 누르면 카카오톡 뷰에서 볼 수 있습니다.