[WordPress] 워드프레스에서 코멘트(댓글) 리스트를 보여주는 wp_list_comments 함수 개념 정리
워드프레스에서 테마나 플러그인을 개발하는 상황에서, 어떤 포스트에 달린 코멘트, 핑백, 트랙백을 보여주는 wp_list_comments 함수에 대해 알아봅시다.
[toc]
wp_list_comments
wp_list_comments 함수는 위에서 말한대로 어떤 포스트에 달린 코멘트, 핑백, 트랙백을 보여주는 역할을 합니다.
기본 사용 방법
wp_list_comments 의 기본 사용 방법은 아래와 같습니다.
wp_list_comments( $args, $comments );
$args 와 $comments 파라미터에 대한 상세한 내용은 아래와 같습니다. 두 파라미터 모두 선택적으로 사용할 수 있습니다(안 넣어도 된다는 의미).
$args
$args 는 array 형식으로 투입되며, wp_list_comments 가 어떻게 작동할지를 결정하는 인수입니다. 몇가지 주요한 인수에 대한 내용은 아래와 같습니다.
인수 | 기능 | 기본값 |
---|---|---|
walker | 사용자 정의 walker class 사용 | null |
max_depth | 몇 단계의 대댓글까지 표시 할지 여부 | |
style | div, ol, ul 중 어떤 형식으로 표시할 것인지 | ul |
callback | 각각의 코멘트 표시에 대한 callback 함수 | null |
type | 어떤 종류의 코멘트를 표시 할지(all, commnet, pingback, trackback) pings 를 사용하면 pingback 과 trackback 모두 표시 | all |
reply_text | 댓글에 대한 답근 버튼 텍스트 | Reply |
per_page | 페이지당 몇 개의 코멘트를 표시할지 | |
avatar_size | 코멘트 작성자 프로필 사진 크기 | 32 |
이 외에 더욱 자세한 인수에 대한 내용은 아래 참고자료에서 확인할 수 있습니다. 사용자가 원하는대로 코멘트를 표시 할 수 있는 많은 옵션들이 있습니다.
$comments
$comment 파라미터는 실제로 사용자에게 표시될 코멘트를 담는 파라미터입니다. 그러나 해당 파라미터는 특별히 wp_list_comments 함수에서 지정하지 않을 경우 알아서 get_comments 함수를 이용해 값을 가져오니 사실상 굳이 넣지 않는 파라미터입니다.
wp_list_comments 예제
실전에서는 보통 아래와 같이 사용합니다.
if ( is_single() ) {
$args = array(
'max_depth' => 5,
'style' => 'div',
'type' => 'comment',
'per_page' => 10,
);
wp_list_comments( $args );
}
지금 로드 중인 페이지가 개별 포스트를 보여주는 화면(is_single)이라면
- 대댓글은 5단계까지,
- 각 코멘트는 div 로 묶어서,
- 핑백이나 트랙백은 제외하고 리얼 코멘트만
- 한 페이지당 10개를
출력하라는 의미입니다.
만약 페이지에도 댓글을 허용한 상태에서 페이지에서 댓글을 보여주고 싶다면 is_page 혹은 is_singular 로 페이지에서도 코멘트가 보이도록 해주면 되겠죠?
(is_single 과 is_singular 의 차이는 이 포스트에서 확인할 수 있습니다.)
댓글 남기기