WordPress.org

Make WordPress Core

Ticket #13561: 13561.diff

File 13561.diff, 1.5 KB (added by markjaquith, 8 years ago)
  • canonical.php

     
    7575                                $id = $vars->post_parent;
    7676
    7777                        if ( $redirect_url = get_permalink($id) )
    78                                 $redirect['query'] = remove_query_arg(array('p', 'page_id', 'attachment_id'), $redirect['query']);
     78                                $redirect['query'] = remove_query_arg(array('p', 'page_id', 'attachment_id', 'post_type'), $redirect['query']);
    7979                }
    8080        }
    8181
     
    8888                        $post_type_obj = get_post_type_object($redirect_post->post_type);
    8989                        if ( $post_type_obj->public ) {
    9090                                $redirect_url = get_permalink($redirect_post);
    91                                 $redirect['query'] = remove_query_arg(array('p', 'page_id', 'attachment_id'), $redirect['query']);
     91                                $redirect['query'] = remove_query_arg(array('p', 'page_id', 'attachment_id', 'post_type'), $redirect['query']);
    9292                        }
    9393                }
    9494
     
    102102                                $redirect['query'] = remove_query_arg('attachment_id', $redirect['query']);
    103103                } elseif ( is_single() && !empty($_GET['p']) && ! $redirect_url ) {
    104104                        if ( $redirect_url = get_permalink(get_query_var('p')) )
    105                                 $redirect['query'] = remove_query_arg('p', $redirect['query']);
     105                                $redirect['query'] = remove_query_arg(array('p', 'post_type'), $redirect['query']);
    106106                        if ( get_query_var( 'page' ) ) {
    107107                                $redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' );
    108108                                $redirect['query'] = remove_query_arg( 'page', $redirect['query'] );