mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
Customize: Exclude referer URL from being used for Close link if it is customize.php.
This fixes an edge case where the Close button could never link the user out of the Customizer, if the user initially accessed it without a `url` param and then clicked a link (provided by a plugin) that took them to another `customize.php` URL. See #32637. git-svn-id: https://develop.svn.wordpress.org/trunk@35635 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
70bb2173c0
commit
0068d161b3
@ -1476,7 +1476,7 @@ final class WP_Customize_Manager {
|
||||
$referer = wp_get_referer();
|
||||
if ( $this->return_url ) {
|
||||
$return_url = $this->return_url;
|
||||
} else if ( $referer ) {
|
||||
} else if ( $referer && 'customize.php' !== basename( parse_url( $referer, PHP_URL_PATH ) ) ) {
|
||||
$return_url = $referer;
|
||||
} else if ( $this->preview_url ) {
|
||||
$return_url = $this->preview_url;
|
||||
|
||||
@ -262,6 +262,9 @@ class Tests_WP_Customize_Manager extends WP_UnitTestCase {
|
||||
$this->manager->set_preview_url( $preview_url );
|
||||
$this->assertEquals( $preview_url, $this->manager->get_return_url() );
|
||||
|
||||
$_SERVER['HTTP_REFERER'] = wp_slash( admin_url( 'customize.php' ) );
|
||||
$this->assertEquals( $preview_url, $this->manager->get_return_url() );
|
||||
|
||||
$url = home_url( '/referred/' );
|
||||
$_SERVER['HTTP_REFERER'] = wp_slash( $url );
|
||||
$this->assertEquals( $url, $this->manager->get_return_url() );
|
||||
|
||||
Loading…
Reference in New Issue
Block a user