_update_term_count_on_transition_post_status

The timeline below displays how wordpress function _update_term_count_on_transition_post_status has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * 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.
 *
 * @since 3.3.0
 * @access private
 *
 * @param string  $new_status New post status.
 * @param string  $old_status Old post status.
 * @param WP_Post $post       Post object.
 */
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);
    }
}

WordPress Version: 4.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.
 *
 * @since 3.3.0
 * @access private
 *
 * @param string  $new_status New post status.
 * @param string  $old_status Old post status.
 * @param WP_Post $post       Post object.
 */
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);
    }
}

WordPress Version: 3.7

/**
 * 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.
 *
 * @access private
 * @param string $new_status
 * @param string $old_status
 * @param object $post
 * @since 3.3.0
 */
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);
    }
}