Canonical: Only redirect non-existing page requests to the post permalink if the post is found.

Follow-up to [47760].

See #45337, #40773, #28081, #11694.

git-svn-id: https://develop.svn.wordpress.org/trunk@47761 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-05-04 10:47:05 +00:00
parent de14ea86bf
commit 0206900cff
1 changed files with 5 additions and 3 deletions

View File

@ -196,10 +196,12 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
$post_id = $wp_query->post->ID;
}
$redirect_url = get_permalink( $post_id );
if ( $post_id ) {
$redirect_url = get_permalink( $post_id );
$redirect['path'] = rtrim( $redirect['path'], (int) get_query_var( 'page' ) . '/' );
$redirect['query'] = remove_query_arg( 'page', $redirect['query'] );
$redirect['path'] = rtrim( $redirect['path'], (int) get_query_var( 'page' ) . '/' );
$redirect['query'] = remove_query_arg( 'page', $redirect['query'] );
}
}
if ( ! $redirect_url ) {