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.


null. Null. Nothing.


_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.


Since 3.3.0 Introduced.

Code of _update_term_count_on_transition_post_status() WP 5.7.1

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 );