일반적으로 워드프레스의 테마들은 페이지 템플릿에서 댓글을 지원하지 않는 경우가 많다. 일단, default 테마만 봐도 이러한 경우에 속한다.
수정(2010 /01/13): 따로 custom field(사용자 지정값)을 입력하는 방식보다는 단순히 댓글을 열거나 닫는것으로 구분하는것이 더 쉬운듯 하여 그에 맞게 글을 수정함.
물론, 워드프레스에서의 고정 페이지 개념을 생각한다면 당연한 것이겠지만, 가끔 페이지에서도 댓글 기능이 필요할 때가 있다. 방명록 페이지의 경우가 그 대표적인 예가 아닐까 한다.
아래 설명될 내용에서는 워드프레스의 Default 테마를 대상으로 할 것이며, 따로 댓글을 지원하는 페이지 템플릿을 만들기 보다는 기존의 템플릿을 수정하여 댓글을 지원하기도 하고, 안하기도 하도록 하겠다.
시작하기 전에
- 우선, 사용중인 테마에서 댓글을 지원하는 페이지 템플릿을 이미 지원하고 있다면 애써 새로운 템플릿을 만들 필요가 없으므로 한 번 확인해 봐야 한다.
[spoiler ‘slide”확인하는 과정 보기”숨기기’]- 페이지 템플릿을 선택하는 곳에 ‘w. comments’ 와 같이 댓글이 지원됨을 표시해 둔 것이 있는경우
- 사용중인 테마폴더 안에 page-comments.php 등 댓글을 지원하는 냄새를 풍기는 파일이 있는 경우.
- 사용중인 테마폴더에 있는
page.php
파일의 내용중에comments_template()
부분이 있는 경우.
[/spoiler]
- 페이지 템플릿을 선택하는 곳에 ‘w. comments’ 와 같이 댓글이 지원됨을 표시해 둔 것이 있는경우
페이지 템플릿(page.php
) 수정하기
- 우선 single.php 파일을 열어
comments_template()
함수가endwhile;
과 비교해서 어디쯤에 사용되고 있는지를 확인한다. Default 테마의 경우는endwhile;
구문 바로 위에 표시되어 있다.
- 이제 page.php 파일(기본 페이지 템플릿)을 열어 같은 위치에
comments_template()
함수를 넣어주면 된다.
- 위 과정까지만 해도 페이지에서 댓글을 지원하게 되긴 하였지만, 댓글을 지원하지 않는 페이지도 만들려면 조건문을 하나 추가해 두는게 좋다. 최근 K2에서 사용하는 방식을 인용하여 해당 페이지에 댓글이 허용된다면(열려있다면) 댓글부분이 표시되도록 해준다.
- 이제 page.php 파일을 저장하고 다시 업로드하여 덮어 씌워면 된다.
3 responses to “페이지 템플릿에서 댓글을 지원하게 하기”
안녕하세여
님 덕분에 문제점을 해결하여서 감사 드립니다
page에 저는 댓글 지원하는게 싫어서 여러모로
헤메 다가 결국은 님의 포스트에서 단 한번에 해결 하였습니다.
간단히 페이지 옵션에서 조정하면 될 것을 몰라서 크게 힘들게
방황했군요.. ㅎㅎ
감사합니다
어제부터 워드프레스를 설치하고 이것저것 해보고 있는 초보입니다.
많은 도움 되었습니다.
감사합니다.
그런데 중간에 오타가 있네요.
page.php 파일을 수정하는 부분에서 세번째 그림에 ~~’comments’) )~~~ 가 ~~’comments’);~~~ 로 바뀌어야 할 것 같습니다.
에고, 그렇네요.
if
구문인데 if 가 빠져있네요수정하는김에 조금 더 편한 방법을 적용하여 글 수정했습니다.