WordPress at a glance

wp_update_comment_count() WP 1.0

Updates the comment count for post(s).

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: wp_update_comment_count_now() For what could cause a false return value
  • Static. Array. $_deferred

No Hooks.

Return

true/false/null. True on success, false on failure or if post with ID does not exist.

Usage

wp_update_comment_count( $post_id, $do_deferred );
$post_id(int/null) (required)
Post ID.
$do_deferred(true/false)
Whether to process previously deferred post comment counts.
Default: false

Code of wp_update_comment_count: wp-includes/comment.php VER 5.0.1

<?php
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);
	}

}

Related Functions

From category: Comments

No comments
    Hello, !     Log In . Register