From b1a275684a9d8333fa3177e21a17c629ce40abaf Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Mon, 4 May 2020 10:49:07 +0000 Subject: [PATCH] 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. Built from https://develop.svn.wordpress.org/trunk@47761 git-svn-id: http://core.svn.wordpress.org/trunk@47537 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/canonical.php | 8 +++++--- wp-includes/version.php | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php index 12f7e5e467..08893e16c9 100644 --- a/wp-includes/canonical.php +++ b/wp-includes/canonical.php @@ -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 ) { diff --git a/wp-includes/version.php b/wp-includes/version.php index 661db90b0b..16fa1c1e7e 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.5-alpha-47760'; +$wp_version = '5.5-alpha-47761'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.