WordPress.org

Make WordPress Core

Ticket #20902: 20902.1.diff

File 20902.1.diff, 2.4 KB (added by brandondove, 5 years ago)

Updated patch for 4.1-alpha-30299

  • wp-includes/canonical.php

     
    155155                } elseif ( is_page() && !empty($_GET['page_id']) && ! $redirect_url ) {
    156156                        if ( $redirect_url = get_permalink(get_query_var('page_id')) )
    157157                                $redirect['query'] = remove_query_arg('page_id', $redirect['query']);
     158                } elseif ( is_page() && ! empty( $_GET['pagename'] ) ) {
     159                        $page = get_page_by_path( $_GET['pagename'] );
     160                        if ( $page && $redirect_url = get_permalink( $page->ID ) )
     161                                $redirect['query'] = remove_query_arg( 'pagename', $redirect['query'] );
    158162                } elseif ( is_page() && !is_feed() && isset($wp_query->queried_object) && 'page' == get_option('show_on_front') && $wp_query->queried_object->ID == get_option('page_on_front')  && ! $redirect_url ) {
    159163                        $redirect_url = home_url('/');
    160164                } elseif ( is_home() && !empty($_GET['page_id']) && 'page' == get_option('show_on_front') && get_query_var('page_id') == get_option('page_for_posts')  && ! $redirect_url ) {
     
    191195                                if ( $redirect_url = get_author_posts_url($author->ID, $author->user_nicename) )
    192196                                        $redirect['query'] = remove_query_arg('author', $redirect['query']);
    193197                        }
     198                } elseif ( is_author() && ! empty( $_GET['author_name'] ) ) {
     199                        $author = get_user_by( 'slug', $_GET['author_name'] );
     200                        if ( ( false !== $author ) && $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE $wpdb->posts.post_author = %d AND $wpdb->posts.post_status = 'publish' LIMIT 1", $author->ID ) ) ) {
     201                                if ( $redirect_url = get_author_posts_url( $author->ID, $author->user_nicename ) )
     202                                        $redirect['query'] = remove_query_arg( 'author_name', $redirect['query'] );
     203                        }
    194204                } elseif ( is_category() || is_tag() || is_tax() ) { // Terms (Tags/categories)
    195205
    196206                        $term_count = 0;
  • wp-includes/post-formats.php

     
    156156        $slugs = get_post_format_slugs();
    157157        if ( isset( $slugs[ $qvs['post_format'] ] ) )
    158158                $qvs['post_format'] = 'post-format-' . $slugs[ $qvs['post_format'] ];
    159         $tax = get_taxonomy( 'post_format' );
    160         if ( ! is_admin() )
    161                 $qvs['post_type'] = $tax->object_type;
    162159        return $qvs;
    163160}
    164161add_filter( 'request', '_post_format_request' );