wp_update_comment_count( int|null $post_id, bool $do_deferred = false ): bool|void

Updates the comment count for post(s).

Description

When $do_deferred is false (is by default) and the comments have been set to be deferred, the post_id will be added to a queue, which will be updated at a later date and only updated once per post ID.

If the comments have not be set up to be deferred, then the post will be updated. When $do_deferred is set to true, then all previous deferred post IDs will be updated along with the current $post_id.

See also

Parameters

$post_idint|nullrequired
Post ID.
$do_deferredbooloptional
Whether to process previously deferred post comment counts.

Default:false

Return

bool|void True on success, false on failure or if post with ID does not exist.

Source

function wp_update_comment_count( $post_id, $do_deferred = false ) {	static $_deferred = array();	if ( empty( $post_id ) && ! $do_deferred ) {	return false;	}	if ( $do_deferred ) {	$_deferred = array_unique( $_deferred );	foreach ( $_deferred as $i => $_post_id ) {	wp_update_comment_count_now( $_post_id );	unset( $_deferred[ $i ] );	/** @todo Move this outside of the foreach and reset $_deferred to an array instead */	}	}	if ( wp_defer_comment_counting() ) {	$_deferred[] = $post_id;	return true;	} elseif ( $post_id ) {	return wp_update_comment_count_now( $post_id );	} } 

Changelog

VersionDescription
2.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.