get_comments()
will get comments for you, either from all across a blog or for a specific post. Its arguments are documented at WP_Comment_Query::__construct()
.
Unless you’ve installed a plugin that adds pending
as a comment status, you’re probably looking for something like this:
$args = array(
// Limits comments to a specific post.
// Leave this off if you want all comments, blog-wide.
'post_id' => $post_id,
// Get only non-approved (ie, pending) comments.
'status' => 'hold',
// Will only fetch comment IDs.
// If you want full comment objects, leave this off.
'fields' => 'ids',
);
$comments = get_comments( $args );
If you have installed a plugin that adds pending
as a status, you can try using 'status' => 'pending'
instead of 'status' => 'hold'
, since the status
argument will allow custom statuses.