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

댓글 목록에 사용되는 class 들

  • 우선, 테마 제작 등을 위해 참고하고자 한다면, wp-includes/comment-template.php 에 등록된 get_comment_class() 함수를 살펴보면 된다.
  • .byuser: 등록된 사용자가 쓴 댓글
  • .comment-author-사용자이름: 특정 사용자가 등록한 댓글
  • .bypostauthor: 글의 작성자가 쓴 댓글
  • .odd, .alt: 홀수번째의 댓글
  • .thread-odd, .thread-alt: 최상위(댓글의 댓글이 아닌)댓글들 중 홀수번째
  • .even: 짝수번째의 댓글
  • .thread-even:최상위 댓글들 중 짝수번째
  • .depth-1, .depth-2, .depth-3…: 댓글의 깊이에 따른 class
  • .children: 댓글의 하위 댓글 목록
  • 이 외에도 ‘comment_class’ 필터를 사용해서 좀 더 특화된 class를 추가 할 수도 있다.

이를 활용하여 여러가지 형태로 댓글의 스타일을 바꿀수 있다.

예를 들어 댓글 목록에 ‘ol’ 태그를 사용하는 경우 댓글의 하위 목록에 약간의 효과를 주고 싶다면 아래와 같이 된다.

최상위 댓글의 홀수번째 댓글에만 효과를 주고 싶다면 아래와 같다.

이런 류의 작업을 많이 접해보지 못한 블로거라면 머리 아플정도로 난감한 내용들이었을 테지만, 워드프레스라는 도구 자체가 워낙에 알면 알수록 이런 재미가 쏠쏠하니, 한번쯤 시간 날 때 도전해 보는것도 좋을 듯 하다.

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.