WordPress.org

Make WordPress Core

Ticket #11904: is_tax_term.11904.diff

File is_tax_term.11904.diff, 1.3 KB (added by filosofo, 4 years ago)
  • wp-includes/query.php

     
    193193} 
    194194 
    195195/** 
     196 * Determine whether the current query is for the given taxonomy or a term 
     197 * in that taxonomy. 
     198 *  
     199 * @param string $taxonomy The taxonomy name. Required. 
     200 * @param int|array|string $term The term's ID, array of term IDs, or term slug. 
     201 * @return bool If the given taxonomy and term or terms   
     202 * query, true; otherwise, false. 
     203 */ 
     204function is_tax_term($taxonomy, $term = null) { 
     205        global $wp_query, $wp_taxonomies; 
     206 
     207        if (  
     208                ( $wp_query->is_tax || $wp_query->is_category || $wp_query->is_tag ) && 
     209                in_array($taxonomy, array_keys($wp_taxonomies))  
     210        ) { 
     211                $queried_object = $wp_query->get_queried_object(); 
     212                if ( isset($queried_object->taxonomy) && isset($queried_object->term_id) ) { 
     213                        $term_array = (array) $term; 
     214                        if (  
     215                                $taxonomy == $queried_object->taxonomy && 
     216                                ( 
     217                                        empty( $term ) || 
     218                                        count(array_intersect( 
     219                                                array($queried_object->term_id, $queried_object->name, $queried_object->slug),  
     220                                                $term_array 
     221                                        )) 
     222                                ) 
     223                        ) { 
     224                                return true; 
     225                        } 
     226                } 
     227        } 
     228        return false; 
     229} 
     230 
     231/** 
    196232 * Whether the current page query has the given tag slug or contains tag. 
    197233 * 
    198234 * @since 2.3.0