get_pending_comments_num() – Get the number of pending comments on a post or posts

You appear to be a bot. Output may be restricted

Description

Gets the number of pending comments on a post or posts.

Usage

$int|int[] = get_pending_comments_num( $post_id );

Parameters

$post_id
( int|int[] ) required – Either a single Post ID or an array of Post IDs

Returns

int|int[] Either a single Posts pending comments as an int or an array of ints keyed on the Post IDs

Source

File name: wordpress/wp-admin/includes/comment.php
Lines:

1 to 38 of 38
function get_pending_comments_num( $post_id ) {
  global $wpdb;

  $single = false;
  if ( ! is_array( $post_id ) ) {
    $post_id_array = (array) $post_id;
    $single        = true;
  } else {
    $post_id_array = $post_id;
  }
  $post_id_array = array_map( 'intval', $post_id_array );
  $post_id_in    = "'" . implode( "', '", $post_id_array ) . "'";

  $pending = $wpdb->get_results( "SELECT comment_post_ID, COUNT(comment_ID) as num_comments FROM $wpdb->comments WHERE comment_post_ID IN ( $post_id_in ) AND comment_approved = '0' GROUP BY comment_post_ID", ARRAY_A );

  if ( $single ) {
    if ( empty( $pending ) ) {
      return 0;
    } else {
      return absint( $pending[0]['num_comments'] );
    }
  }

  $pending_keyed = array();

  // Default to zero pending for all posts in request.
  foreach ( $post_id_array as $id ) {
    $pending_keyed[ $id ] = 0;
  }

  if ( ! empty( $pending ) ) {
    foreach ( $pending as $pend ) {
      $pending_keyed[ $pend['comment_post_ID'] ] = absint( $pend['num_comments'] );
    }
  }

  return $pending_keyed;
}
 

 View on GitHub View on Trac