워드프레스 2.7 이후의 댓글 출력 환경

비밀번호 확인 부분

  • 기존에는 함수를 사용하지 않고, 아래와 같은 형태를 대부분 취하고 있다.
  • 이 부분을 아래와 같이 post_password_required 함수를 이용하도록 수정한다.

댓글의 유무를 확인하는 부분

  • 기존의
  • 부분을 아래와 같이 have_comments 함수를 사용하도록 바꾼다.

댓글이 열려있는지 확인하는 부분

  • 기존의
  • 부분을 아래와 같이 ‘comments_open함수를 사용하도록 바꾼다.
  • 위의 긴 내용들을 아래와 같이 간단하게 바꿔주면 된다.
  • 물론, Default 테마나 일반적인 테마의 경우 ‘wp_list_comments‘의 기본 설정값 만으로 충분히 출력이 가능하지만, 특정 테마들의 경우 그 출력 형태가 다른 경우가 있다. 이런 경우 해당 함수의 설정값을 바꿔주거나 따로 함수를 만들어 그 형태를 유지하도록 할 수가 있다.
  • wp_list_comments‘ 의 경우 여러가지 설정 변수가 존재하지만, 우선은 몇가지 정도만 알아두도록 하자.
    • style: ‘ul’, ‘ol’, ‘div’ 세가지를 선택 할 수 있다. 즉, 기존의 댓글 목록을 감싸고 있는 태그에 따라 그 설정값을 바꿔주면 된다.
    • avatar_size: 워드프레스 토론 설정에서 아바타(gravatar)를 사용하도록 하였다면, 그 크기를 지정해 줄 수 있다. 값이 지정되지 않은 경우 기본값으로 ’96px’를 사용한다.
    • reply_text: 댓글에 답글을 다는 링크의 텍스트를 지정 할 수 있다. 기본값은 ‘Reply(응답)’.
    • 예로서 목록 태그에 ‘div’ 을 사용하고, 아바타의 크기를 46px로 사용한다면 아래와 같이 된다.

    • 추가로 ‘callback’ 이란 설정값에 따로 작성한 함수를 등록함으로서, 댓글의 출력 형식을 취향에 맞게 바꾸는 것이 가능하나, 이것은 테마 개발자 등 익숙해져 있는 사람이 아닌 경우 아주 어려운 일이 될 것이므로, 이 글에서는 그냥 넘어가도록 한다. 궁금하신 분들은 K2테마app/includes/comments.php파일내 k2_comment_start_el 함수를 참고하시길.

이어서 다음 페이지에서는 계단형 댓글과 새로운 댓글 환경에서의 CSS 출력값들을 알아보도록 하자.

19 thoughts on “워드프레스 2.7 이후의 댓글 출력 환경”

  1. 안녕하세요. 방명록을 만들려고 올려주신 내용에 따라 테마를 수정하고 있는데 질문이 있어서요.
    이런 쪽은 전혀 몰라서 무작정 따라하고 있는데요. 제가 쓰는 테마에는 위 같은 부분이 없어요..말씀하신 wp_list_comments 기능이 빠져있는건지..
    저처럼 아예 없을 경우에는 뭘 빼고 어느 부분에 저 구문을 넣어야 하나요?

    1. 아 제가 말한건 3번째 페이지 부분부터에요. 1,2페이지는 잘 따라했는데 3페이지 부분부터는 comments.php 파일에 똑같은 부분이 없네요..

      1. 처음 접하시는 분들은 수정하기가 참 난감하실 거에요… 저 부분하고 똑같은 부분을 찾는게 아니라, 비슷한 부분을 찾아야 합니다. comments.php 파일의 내용중에 wp_list_comments가 없다면, 새로운 댓글 환경을 지원하지 않을 가능성이 큽니다. 테마 제작자에게 새로운 댓글 환경을 지원해 줄거을 요청해 보는것이 오히려 빠른 해결책이 되지 않을까 싶네요.

        1. 비슷한 부분이 찾아서 수정했어요. 그런데 관리자 모드에서 코멘트 부분에서 reply로 답 댓글 다는거 맞는거죠? 그렇게 달았는데 코멘트 밑에 답글로 달리지 않고 그냥 다른 코멘트들이랑 똑같이 맨 밑에 새로운 코멘트로 추가되네요..뭐가 잘못된걸까요?

          1. 밑에 nipple님 코멘트를 봤는데 관리자 모드에서 다는게 아니고 방명록 페이지 자체에 reply 링크가 생기는 건가요? 저도 안생겼는데..해결 방법이 궁금합니다. ㅠㅠ

          2. 사용하시는 테마가 reply 링크를 제공하지 않는 듯 하네요. 기본 테마로 바꿔보시면 reply 링크가 보이실 거에요 ^^

  2. 다른 질문입니다. ^.^;

    reply버튼을 누르면 여기처럼 textarea가 #respond타겟으로 이동해야 하는데
    제 블로그에서는 해당 타겟이 없는지 페이지를 리로드하네요..

    혹시 해결방법이 없을까요?

      1. 아, 그 부분을 빠트렸군요. 조만간 2부를 쓰거나 이 글에 내용 추가할께요.

        우선은 테마의 header.php 파일에서 < ?php wp_head(); ?> 부분의 위쪽에 아래처럼 코드를 삽입하면 됩니다.

        [code lang=”php”]
        < ?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
        < ?php wp_head(); ?>
        [/code]

  3. 전 왜 reply 링크가 안생길까요..; 2.71인데…이상하네요.
    브라이언 플러그인은 이제 지워도 괜찮은 건가요?

Comments are closed.