WordPress at a glance
function is not described

_update_term_count_on_transition_post_status() WP 3.3.0

Update the custom taxonomies' term counts when a post's status is changed.

For example, default posts term counts (for custom taxonomies) don't include private / draft posts.

This is an internal function for using it by WP core itself. It's not recommended to use this function in your code.

No Hooks.

Return

null. Null. Nothing.

Usage

_update_term_count_on_transition_post_status( $new_status, $old_status, $post );
$new_status(string) (required)
New post status.
$old_status(string) (required)
Old post status.
$post(WP_Post) (required)
Post object.

Changelog

Since 3.3.0 Introduced.

Code of _update_term_count_on_transition_post_status() WP 5.7.1

<?php
function _update_term_count_on_transition_post_status( $new_status, $old_status, $post ) {
	// Update counts for the post's terms.
	foreach ( (array) get_object_taxonomies( $post->post_type ) as $taxonomy ) {
		$tt_ids = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'tt_ids' ) );
		wp_update_term_count( $tt_ids, $taxonomy );
	}
}