WordPress.org

Make WordPress Core

Ticket #12245: 12245.2.diff

File 12245.2.diff, 1014 bytes (added by miqrogroove, 8 years ago)
  • wp-includes/canonical.php

     
    141141
    142142                // redirect sub-terms of taxonomies to their correct urls
    143143                if ( is_category() || is_tax() ) {
    144                         if ( is_category() ) {
    145                                 $taxonomy = 'category';
    146                                 $slug = get_query_var('category_name');
    147                         } else {
    148                                 $taxonomy = get_query_var('taxonomy');
    149                                 $slug = get_query_var('term');
     144                        if ($term = $wp_query->get_queried_object()) {
     145                                if ( is_category() ) {
     146                                        $taxonomy = 'category';
     147                                } else {
     148                                        $taxonomy = get_query_var('taxonomy');
     149                                }
     150                                if ( $tax_url = get_term_link($term, $taxonomy) ) {
     151                                        $tax_url = parse_url($tax_url);
     152                                        $redirect['path'] = $tax_url['path'];
     153                                }
    150154                        }
    151                         if ( $tax_url = get_term_link($slug, $taxonomy) ) {
    152                                 $tax_url = parse_url($tax_url);
    153                                 $redirect['path'] = $tax_url['path'];
    154                         }
    155155                }
    156156
    157157                // paging and feeds