Changeset 53036 for trunk/src/wp-includes/comment.php
- Timestamp:
- 03/31/2022 09:07:02 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/comment.php
r52707 r53036 384 384 $post_id = (int) $post_id; 385 385 386 $where = '';387 if ( $post_id > 0 ) {388 $where = $wpdb->prepare( 'WHERE comment_post_ID = %d', $post_id );389 }390 391 $totals = (array) $wpdb->get_results(392 "393 SELECT comment_approved, COUNT( * ) AS total394 FROM {$wpdb->comments}395 {$where}396 GROUP BY comment_approved397 ",398 ARRAY_A399 );400 401 386 $comment_count = array( 402 387 'approved' => 0, … … 409 394 ); 410 395 411 foreach ( $totals as $row ) { 412 switch ( $row['comment_approved'] ) { 413 case 'trash': 414 $comment_count['trash'] = $row['total']; 415 break; 416 case 'post-trashed': 417 $comment_count['post-trashed'] = $row['total']; 418 break; 419 case 'spam': 420 $comment_count['spam'] = $row['total']; 421 $comment_count['total_comments'] += $row['total']; 422 break; 423 case '1': 424 $comment_count['approved'] = $row['total']; 425 $comment_count['total_comments'] += $row['total']; 426 $comment_count['all'] += $row['total']; 427 break; 428 case '0': 429 $comment_count['awaiting_moderation'] = $row['total']; 430 $comment_count['total_comments'] += $row['total']; 431 $comment_count['all'] += $row['total']; 432 break; 433 default: 434 break; 435 } 436 } 396 $args = array( 397 'count' => true, 398 'update_comment_meta_cache' => false, 399 ); 400 if ( $post_id > 0 ) { 401 $args['post_id'] = $post_id; 402 } 403 $mapping = array( 404 'approved' => 'approve', 405 'awaiting_moderation' => 'hold', 406 'spam' => 'spam', 407 'trash' => 'trash', 408 'post-trashed' => 'post-trashed', 409 ); 410 $comment_count = array(); 411 foreach ( $mapping as $key => $value ) { 412 $comment_count[ $key ] = get_comments( array_merge( $args, array( 'status' => $value ) ) ); 413 } 414 415 $comment_count['all'] = $comment_count['approved'] + $comment_count['awaiting_moderation']; 416 $comment_count['total_comments'] = $comment_count['all'] + $comment_count['spam']; 437 417 438 418 return array_map( 'intval', $comment_count );
Note: See TracChangeset
for help on using the changeset viewer.