Ticket #5593: conditional_tag_array.diff

File conditional_tag_array.diff, 2.2 KB (added by fitztrev, 4 years ago)
  • wp-includes/query.php

     
    6060 
    6161        $author_obj = $wp_query->get_queried_object(); 
    6262 
    63         if ( $author == $author_obj->ID ) 
     63        $author = (array) $author; 
     64 
     65        if ( in_array( $author_obj->ID, $author ) ) 
    6466                return true; 
    65         elseif ( $author == $author_obj->nickname ) 
     67        elseif ( in_array( $author_obj->nickname, $author ) ) 
    6668                return true; 
    67         elseif ( $author == $author_obj->user_nicename ) 
     69        elseif ( in_array( $author_obj->user_nicename, $author ) ) 
    6870                return true; 
    6971 
    7072        return false; 
     
    8183 
    8284        $cat_obj = $wp_query->get_queried_object(); 
    8385 
    84         if ( $category == $cat_obj->term_id ) 
     86        $category = (array) $category; 
     87 
     88        if ( in_array( $cat_obj->term_id, $category ) ) 
    8589                return true; 
    86         else if ( $category == $cat_obj->name ) 
     90        elseif ( in_array( $cat_obj->name, $category ) ) 
    8791                return true; 
    88         elseif ( $category == $cat_obj->slug ) 
     92        elseif ( in_array( $cat_obj->slug, $category ) ) 
    8993                return true; 
    9094 
    9195        return false; 
     
    9397 
    9498function is_tag( $slug = '' ) { 
    9599        global $wp_query; 
     100 
    96101        if ( !$wp_query->is_tag ) 
    97102                return false; 
    98103 
     
    100105                return true; 
    101106 
    102107        $tag_obj = $wp_query->get_queried_object(); 
    103         if ( $slug == $tag_obj->slug ) 
     108 
     109        $slug = (array) $slug; 
     110 
     111        if ( in_array( $tag_obj->slug, $slug ) ) 
    104112                return true; 
     113 
    105114        return false; 
    106115} 
    107116 
     
    153162        $page_obj = $wp_query->get_queried_object(); 
    154163 
    155164        $page = (array) $page; 
    156      
    157     if ( in_array( $page_obj->ID, $page ) ) 
     165 
     166        if ( in_array( $page_obj->ID, $page ) ) 
    158167                return true; 
    159168        elseif ( in_array( $page_obj->post_title, $page ) ) 
    160169                return true; 
    161         else if ( in_array( $page_obj->post_name, $page ) ) 
     170        elseif ( in_array( $page_obj->post_name, $page ) ) 
    162171                return true; 
    163172 
    164173        return false; 
     
    208217 
    209218        $post_obj = $wp_query->get_queried_object(); 
    210219 
    211         if ( $post == $post_obj->ID ) 
     220        $post = (array) $post; 
     221 
     222        if ( in_array( $post_obj->ID, $post ) ) 
    212223                return true; 
    213         elseif ( $post == $post_obj->post_title ) 
     224        elseif ( in_array( $post_obj->post_title, $post ) ) 
    214225                return true; 
    215         elseif ( $post == $post_obj->post_name ) 
     226        elseif ( in_array( $post_obj->post_name, $post ) ) 
    216227                return true; 
    217228 
    218229        return false;