Home 게시판 커뮤니티 Q&A 코멘트와 트랙백 숫자를 따로 표시하려면?

8개 답변, 2 voices Last updated by Avatar of 082net082net 17 years, 5 months 전
  • Avatar of josephjoseph
    Participant
    @joseph
    #2812

    언제나 친절하고 상세한 답변 감사드립니다.
    082님의 답변 덕에 많은 걸 배워가고 있네요~ 감사합니다.

    Avatar of josephjoseph
    Participant
    @joseph
    #2813

    제목 그대로 순수 코멘트 수와 트랙백 수를 분리해서 표시하고 싶은데요.
    예를 들어 코멘트(2) / 트랙백(1) 과 같은 형식으로 말이요.
    지금은 트랙백 수까지 모두 포함된 코멘트 수가 표시되거든요.
    즉 코멘트(3) 과 같이 말이죠. 도움말 주시면 감사하겠습니다.

    Avatar of josephjoseph
    Participant
    @joseph
    #2817

    제목 그대로 순수 코멘트 수와 트랙백 수를 분리해서 표시하고 싶은데요.
    예를 들어 코멘트(2) / 트랙백(1) 과 같은 형식으로 말이요.
    지금은 트랙백 수까지 모두 포함된 코멘트 수가 표시되거든요.
    즉 코멘트(3) 과 같이 말이죠. 도움말 주시면 감사하겠습니다.

    Avatar of 082net082net
    Keymaster
    @082net
    #2814

    http://urbangiraffe.com/plugins/separate-comment-pings/

    이 플러그인을 사용하시면 될 듯 합니다.

    단, 이 플러그인은 테마의 comments.php 템플릿 내에서만 사용가능합니다.

    기본적으로 필터를 이용해서 pignback, trackback 을 $pings 로 분리하기 때문에 테마를 수정하지 않고 플러그인만 적용하면 일반 comment 만을 출력하며, 갯수도 일반 comment의 갯수만을 출력하게 됩니다.

    따라서 나머지 pingback, trackback을 따로 출력하려면 comments.php를 수정해 주어야만 합니다.

    간단하게 예를 들어보겠습니다 ::

    <?php global $pings; if( $pings && count($pings) > 0 ) :
    $numPings = count($pings);
    ?>
    <!-- pingback, trackback 갯수 표시 -->
    <h3 id="pingbacks"><?php echo ( $numPings == 1 ? 'One Responses' : $numPings . ' Responses' );?></h3>

    <ol class="commentlist">
    <?php foreach ($pings as $comment) : ?><!-- $comment 이어야 제대로 작동됩니다. -->

      <li>......댓글 표시내용...(테마에서 기본 표시되는 내용을 그대로 옮기면 됩니다..)</li>
     
    <?php endforeach; /* end for each comment */ ?>
    </ol>
    <?php endif; ?>

    위 내용을 참고하여 사용중인 테마의 comments.php의 적당한 부분에 넣어주시면 됩니다.

    어디까지나 간단하게 예를 든 것 이므로, 사용중인 테마에 맞게 수정하셔야 합니다.

    Avatar of 082net
    Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
    Avatar of 082net082net
    Keymaster
    @082net
    #2818

    http://urbangiraffe.com/plugins/separate-comment-pings/

    이 플러그인을 사용하시면 될 듯 합니다.

    단, 이 플러그인은 테마의 comments.php 템플릿 내에서만 사용가능합니다.

    기본적으로 필터를 이용해서 pignback, trackback 을 $pings 로 분리하기 때문에 테마를 수정하지 않고 플러그인만 적용하면 일반 comment 만을 출력하며, 갯수도 일반 comment의 갯수만을 출력하게 됩니다.

    따라서 나머지 pingback, trackback을 따로 출력하려면 comments.php를 수정해 주어야만 합니다.

    간단하게 예를 들어보겠습니다 ::

    <?php global $pings; if( $pings && count($pings) > 0 ) :
    $numPings = count($pings);
    ?>
    <!-- pingback, trackback 갯수 표시 -->
    <h3 id="pingbacks"><?php echo ( $numPings == 1 ? 'One Responses' : $numPings . ' Responses' );?></h3>

    <ol class="commentlist">
    <?php foreach ($pings as $comment) : ?><!-- $comment 이어야 제대로 작동됩니다. -->

      <li>......댓글 표시내용...(테마에서 기본 표시되는 내용을 그대로 옮기면 됩니다..)</li>
     
    <?php endforeach; /* end for each comment */ ?>
    </ol>
    <?php endif; ?>

    위 내용을 참고하여 사용중인 테마의 comments.php의 적당한 부분에 넣어주시면 됩니다.

    어디까지나 간단하게 예를 든 것 이므로, 사용중인 테마에 맞게 수정하셔야 합니다.

    Avatar of 082net
    Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
    Avatar of josephjoseph
    Participant
    @joseph
    #2815

    우선 친절한 답변에 감사드립니다. 근데 제가 설명이 부족했었나 봅니다.
    다만 제가 원했던건 단지 comment 화면뿐 아니라 index 나 single 과 같은 여타 화면에서 코멘트수와 트랙백수를 따로 분리해서 카운팅한 걸 표시해주는 거였는데요…082님의 답변처럼 comment 화면내에서 분리하는 건 다른 테마의 comment.php 에서 내용을 확인할 수 있었네요. 굳이 플러그인을 사용하지 않아도 표시가 가능한 것 같던데…자세한 내용은 천천히 익혀야할 듯 싶구요.
    아무튼…상기의 내용처럼 main index 화면에서 코멘트 수와 트랙백 수를 분리해서 표시할 수는 없는지요?

    Avatar of josephjoseph
    Participant
    @joseph
    #2819

    우선 친절한 답변에 감사드립니다. 근데 제가 설명이 부족했었나 봅니다.
    다만 제가 원했던건 단지 comment 화면뿐 아니라 index 나 single 과 같은 여타 화면에서 코멘트수와 트랙백수를 따로 분리해서 카운팅한 걸 표시해주는 거였는데요…082님의 답변처럼 comment 화면내에서 분리하는 건 다른 테마의 comment.php 에서 내용을 확인할 수 있었네요. 굳이 플러그인을 사용하지 않아도 표시가 가능한 것 같던데…자세한 내용은 천천히 익혀야할 듯 싶구요.
    아무튼…상기의 내용처럼 main index 화면에서 코멘트 수와 트랙백 수를 분리해서 표시할 수는 없는지요?

    Avatar of 082net082net
    Keymaster
    @082net
    #2816

    말씀 하신 내용은 플러그인 등으로 쉽게 적용 할 수 없습니다.

    테마의 루프내에서 $comment를 직접 MySQL큐리를 통해 얻어와서 그 숫자를 표시하는 방법밖에는 없을 듯 하군요.

    예는 index.php로 하겠습니다.

    <?php while (have_posts()) : the_post(); ?>

    를 찾아 바로 아래에 아래의 예를 참고해서 코드를 넣으세요.

    <?php
    $count_query = "SELECT COUNT(*) AS count FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' ";
    if($user_ID) {
      $count_query .= " AND (comment_approved = '1' OR ( user_id = '$user_ID' AND comment_approved = '0' ) ) ";
    } else if (empty($comment_author) ) {
      $count_query .= " AND omment_approved = '1' ";
    } else {
      $author_db = $wpdb->escape($comment_author);
      $email_db  = $wpdb->escape($comment_author_email);
      $count_query .= " AND ( comment_approved = '1' OR ( comment_author = '$author_db' AND comment_author_email = '$email_db' AND comment_approved = '0' ) ) ";
    }
    $comment_count = (int)$wpdb->get_var($count_query . " AND comment_type = '' ");
    $ping_count = (int)$wpdb->get_var($count_query . " AND comment_type <> '' ");
    echo 'comments: '. $comment_count . ' pings: '.$ping_count;
    ?>

    Avatar of 082net
    Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
    Avatar of 082net082net
    Keymaster
    @082net
    #2820

    말씀 하신 내용은 플러그인 등으로 쉽게 적용 할 수 없습니다.

    테마의 루프내에서 $comment를 직접 MySQL큐리를 통해 얻어와서 그 숫자를 표시하는 방법밖에는 없을 듯 하군요.

    예는 index.php로 하겠습니다.

    <?php while (have_posts()) : the_post(); ?>

    를 찾아 바로 아래에 아래의 예를 참고해서 코드를 넣으세요.

    <?php
    $count_query = "SELECT COUNT(*) AS count FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' ";
    if($user_ID) {
      $count_query .= " AND (comment_approved = '1' OR ( user_id = '$user_ID' AND comment_approved = '0' ) ) ";
    } else if (empty($comment_author) ) {
      $count_query .= " AND omment_approved = '1' ";
    } else {
      $author_db = $wpdb->escape($comment_author);
      $email_db  = $wpdb->escape($comment_author_email);
      $count_query .= " AND ( comment_approved = '1' OR ( comment_author = '$author_db' AND comment_author_email = '$email_db' AND comment_approved = '0' ) ) ";
    }
    $comment_count = (int)$wpdb->get_var($count_query . " AND comment_type = '' ");
    $ping_count = (int)$wpdb->get_var($count_query . " AND comment_type <> '' ");
    echo 'comments: '. $comment_count . ' pings: '.$ping_count;
    ?>

    Avatar of 082net
    Facebook 사용자 모임 그룹 도 함께 운영되고 있으며, 격 주로 미트업과 스터디를 진행하고 있으니 관심 있으신 분들의 많은 참여 바랍니다 🙂
9 글 보임 - 1에서 9 까지 (총 9 중에서)
  • 답변은 로그인 후 가능합니다.