_update_term_count_on_transition_post_status()WP 3.3.0

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

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Return

null. Nothing (null).

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.

_update_term_count_on_transition_post_status() code WP 6.5.2

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