_update_term_count_on_transition_post_status( string $new_status, string $old_status, WP_Post $post )

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Updates the custom taxonomies’ term counts when a post’s status is changed.

Description

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

Parameters

$new_statusstringrequired
New post status.
$old_statusstringrequired
Old post status.
$postWP_Postrequired
Post object.

Source

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

Changelog

VersionDescription
3.3.0Introduced.

User Contributed Notes

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