Make WordPress Core


Ignore:
Timestamp:
01/01/2008 06:40:39 PM (18 years ago)
Author:
ryan
Message:

wp.getCommentCount from josephscott. fixes #5463

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/comment.php

    r6532 r6534  
    154154
    155155
     156function get_comment_count( $post_id = 0 ) {
     157    global $wpdb;
     158
     159    $post_id = (int) $post_id;
     160
     161    $where = '';
     162    if ( $post_id > 0 ) {
     163        $where = "WHERE comment_post_ID = {$post_id}";
     164    }
     165
     166    $totals = (array) $wpdb->get_results("
     167        SELECT comment_approved, COUNT( * ) AS total
     168        FROM {$wpdb->comments}
     169        {$where}
     170        GROUP BY comment_approved
     171    ", ARRAY_A);
     172
     173    $comment_count = array(                         
     174        "approved"              => 0,               
     175        "awaiting_moderation"   => 0,
     176        "spam"                  => 0,
     177        "total_comments"        => 0
     178    );
     179
     180    foreach ( $totals as $i => $row ) {
     181        switch ( $row['comment_approved'] ) {
     182            case 'spam':
     183                $comment_count['spam'] = $row['total'];
     184                $comment_count["total_comments"] += $row['total'];
     185                break;
     186            case 1:
     187                $comment_count['approved'] = $row['total'];
     188                $comment_count['total_comments'] += $row['total'];
     189                break;
     190            case 0:
     191                $comment_count['awaiting_moderation'] = $row['total'];
     192                $comment_count['total_comments'] += $row['total'];
     193                break;
     194            default:
     195                break;
     196        }
     197    }
     198
     199    return $comment_count;
     200}
     201
     202
    156203function sanitize_comment_cookies() {
    157204    if ( isset($_COOKIE['comment_author_'.COOKIEHASH]) ) {
Note: See TracChangeset for help on using the changeset viewer.