메인 페이지에서 댓글 출력하기
2008년 1월 9일 by 김 승엽 View blog reactions
워드프레스의 많은 테마들이 메인 페이지 즉, index.php 템플릿에서 댓글, 트랙백, 입력폼을 표시하지 않습니다. 그래서 메인페이지에서 본 글에 댓글을 입력하려면 싱글 페이지로 이동해야 합니다. 메인 페이지와 싱글 페이지 모두에서 댓글을 출력하는 태터툴즈와의 차이라고 할 수 있을 것 같은데요. 페이지 이동을 해야 한다는 점 때문에 불편해 하시는 분들이 계신 것 같더군요. (예전에 워드프레스를 사용하시다 태터툴즈로 돌아가신다는 블로거의 글들에서 몇 번 본 것 같습니다.) 그런데 글을 읽을 때 RSS 리더나 메타블로그 혹은 검색엔진 등을 통해서 접근할 때 메인 페이지가 출력되는 것이 아니라 싱글페이지로 접근하기 때문에 이런 불편함이 생기는 것은 메인 페이지로 접속하시는 경우에 발생하게 됩니다.
이것을 수정해 메인 페이지에서 댓글과 입력폼을 출력하려면 index.php 의 Loop 안에 아래의 코드를 넣어주시면 됩니다.
<?php $withcomments="1"; comments_template(); ?>
<?php endwhile; ?>
적당한 위치에 comments_template를 입력하면 메인 페이지에서 댓글과 입력폼이 출력되게 됩니다. 중요한 것은 메인페이지에서는 $withcomments="1";를 입력해야 출력이 된다는 점입니다. 이렇게 하면 Theme의 comments.php 템플릿의 내용이 메인 페이지에서 출력되게 됩니다. 만약 싱글 페이지와 메인 페이지의 코멘트 템플릿을 다르게 하고 싶다면 comments.php를 comments-2.php 같은 파일명으로 복사하시고 아래와 같이 수정하시면 됩니다.
<?php $withcomments="1"; include (TEMPLATEPATH . '/comments-2.php'); ?>
<?php endwhile; ?>
닫힌 상태로 있다가 댓글 링크를 누르면 댓글 영역이 열리도록 하는 등의 수정도 할 수 있을것 같습니다.
제 경우에는 Inline Ajax Comments 플러그인도 사용하고 있고 메인 페이지에서 글을 5개나 출력하고 있기 때문에 테스트만 하고 적용하지는 않았습니다. 평소에 불편하다고 생각했던 분이 계신다면 이 방법을 사용해 보시면 어떨까 싶습니다.
:
:
:
좋은 정보 감사합니다.
적용결과 메인페이지에 댓글출력은 잘 되는데 거기서 댓글을 달고 난 후엔 single페이지로 이동이 되어 버리네요. 해결법이 없는지요?
그 부분에 대해서는 저도 잘 모르겠습니다. 관련 사항을 좀 찾아봐야 할 것 같네요
그렇군요. 염치없지만 관련한 내용을 찾으시면 답변 좀 부탁드립니다.
사실 이 기능이 태터툴즈의 영향이긴 하지만 상당히 편리한 기능인데 말이죠.
테마의 Comment.php 파일에서 위 라인을 찾아서 주석처리를 해보시기 바랍니다. 저도 확실히 테스트 해보지 않았는데 이 라인 때문에 싱글페이지로 이동하는 것 같네요.
참고만 하시기 바랍니다.
벗쟁이// 네 댓글을 달기 위해 페이지 이동을 해야 한다는 점 때문에 댓글이 별로 없나 하는 생각도 들더군요
대단히 도움이 되었습니다.
리플 달 때 다시 다른 페이지로 이동하는 문제가 사실 별거 아닌 것 같아도 굉장히 불편하거든요…