| | 156 | function 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 | |
|---|