Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: update_post_term_count_statuses

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

Line Code
4040
4041      /**
4042       * Filters the post statuses for updating the term count.
4043       *
4044       * @since 5.7.0
4045       *
4046       * @param string[]    $post_statuses List of post statuses to include in the count. Default is 'publish'.
4047       * @param WP_Taxonomy $taxonomy      Current taxonomy object.
4048       */
4049      $post_statuses = esc_sql( apply_filters( 'update_post_term_count_statuses', $post_statuses, $taxonomy ) );
4050
4051      foreach ( (array) $terms as $term ) {
4052           $count = 0;
4053
4054           // Attachments can be 'inherit' status, we need to base count off the parent's status if so.
4055           if ( $check_attachments ) {
4056                // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.QuotedDynamicPlaceholderGeneration
4057                $count += (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts p1 WHERE p1.ID = $wpdb->term_relationships.object_id AND ( post_status IN ('" . implode( "', '", $post_statuses ) . "') OR ( post_status = 'inherit' AND post_parent > 0 AND ( SELECT post_status FROM $wpdb->posts WHERE ID = p1.post_parent ) IN ('" . implode( "', '", $post_statuses ) . "') ) ) AND post_type = 'attachment' AND term_taxonomy_id = %d", $term ) );
4058           }