Plugin: page 기능으로 방명록-guestbook- 만들기

wordpress의 page기능을 이용하여 방명록-guestbook-을 만들었다.
방법:

  1. page를 생성한다
  2. comments의 출력순서만 바꿀 것인지 페이지 처리 할 것인지 결정한다

1. page를 생성한다

  1. guestbook으로 사용할 page template을 만들어 업로드 한다
    (ex. blog/wp-content/themes/yourtheme/guestbook.php)
  2. admin의 write menu에서 적당한 이름의 page를 생성해준다. (ex. guestbook)

guestbook으로 사용할 page 생성시 comment가 출력되지 않는 page template을 샘플로 가져온 경우(ex. archives, about)에는 코멘트를 출력하고 싶은 부분에 다음의 코드를 넣어준다.

<?php comments_template(); ?>

2-1. comments의 출력순서만 조절하고 싶은 경우

어떻게 코멘트 순서를 반대로 출력할까에 대해 고민해보기로 하구선 못하고 있었는데 (검색 조차 시도하지 않은 상황) 임시 guestbook에 바람처럼 나타난 rosarux님께서 여기를 알려주셨다.

  1. Plugin을 다운로드 받는다.(바람님 블로그가 사라져 임의로 플러그인 파일을 올려둡니다.)
  2. default theme를 사용하고 있는 것이 아니라면
    • comments_desc.php를 연 다음 31~35번째 줄을 수정해준다.
    • blog/wp-content/themes/default/ -> blog/wp-content/themes/yourtheme/
  3. comments_desc.php를 plugin directory에 업로드하고 (blog/wp-content/plugins/), plugin설정에서 activative한다.
  4. guestbook.php를 기존에 쓰던 theme에 맞게 수정을 하거나 원하는 파일명으로 바꿔준 후 theme directory에 를 업로드 한다
    (ex. blog/wp-content/themes/yourtheme/guestbook.php)
  5. admin의 write menu에서 page를 작성하되 방금 전에 올린 guestbook template으로 지정해 준다

파일 설명

comments_desc.phpplugin파일guest.phptemplate 파일guest-comments.php다른 템플릿에서 가져온 테스트용 comments 템플릿
나같은 경우는
guestbook에서 코멘트입력란을 위에 두고 싶어서 theme안에 있던 comment.php를 guset-comment.php로 복사한 후, 입력란과 출력란의 위치를 바꿔준 후에
comments_desc.php의 34번째 줄의 comments.php를 guest-comments.php로 바꿔서 넣었다.


2-2. 출력순서도 결정하고, comments가 많은 경우 페이지 처리 하고 싶은 경우

  1. WordPress Paged Comments Plugin을 다운로드 받는다.
  2. paged-comments.php는 blog/wp-content/plugins/ 디렉토리에 업로드한다.
  3. wp-paged-comments.php 는 wordpress가 설치된 최상위 디렉토리에 업로드한다.(ex. wp/)
  4. 이전에 만들어둔 template (ex. blog/wp-content/themes/yourtheme/guestbook.php)를 수정해 준다.
    comments가 출력되는 부분인
    < ?php comments_template(); ?>< ?php include(ABSPATH.’/wp-paged-comments.php’); ?>
    이렇게 바꾸어 준다
  5. 가장 처음에 만들어둔 page에 커스텀 필드를 추가해준다.key: paged_comments
    value: on
  6. 그리고 아래의 설명 혹은 paged-comments.php에 딸린 주석에 따라 /blog/wp-content/plugins/paged-comment.php를 수정해 준다

아래의 설명은 피오넬님의 포스트에서 인용

$paged_comments->all_posts = false;
이렇게해두어야 특정페이지만 코멘트가 페이지로 나뉘게 할 수 있다.
아까 커스텀 필드를 추가한 것과 관련이 있다.
$paged_comments->per_page = 10;
10개의 코멘트가 넘을 때마가 페이지를 새로 만들어준다.
$paged_comments->ordering = ‘DESC’;
코멘트 보여줄 순서를 정해준다.
$paged_comments->page_range = 10;
페이지의 범위를 정해준다.

NoticeWordPress 1.5 이하 버전에서만 테스트를 했습니다. 2.x 이상에서는 제대로 실행되지 않을 가능성이 높습니다.