W3cubDocs

/WordPress

WP_Customize_Manager::get_return_url()

Get URL to link the user to when closing the Customizer.

Return

(string) URL for link to close Customizer.

Source

File: wp-includes/class-wp-customize-manager.php

public function get_return_url() {
		global $_registered_pages;

		$referer                    = wp_get_referer();
		$excluded_referer_basenames = array( 'customize.php', 'wp-login.php' );

		if ( $this->return_url ) {
			$return_url = $this->return_url;
		} elseif ( $referer && ! in_array( wp_basename( parse_url( $referer, PHP_URL_PATH ) ), $excluded_referer_basenames, true ) ) {
			$return_url = $referer;
		} elseif ( $this->preview_url ) {
			$return_url = $this->preview_url;
		} else {
			$return_url = home_url( '/' );
		}

		$return_url_basename = wp_basename( parse_url( $this->return_url, PHP_URL_PATH ) );
		$return_url_query    = parse_url( $this->return_url, PHP_URL_QUERY );

		if ( 'themes.php' === $return_url_basename && $return_url_query ) {
			parse_str( $return_url_query, $query_vars );

			/*
			 * If the return URL is a page added by a theme to the Appearance menu via add_submenu_page(),
			 * verify that belongs to the active theme, otherwise fall back to the Themes screen.
			 */
			if ( isset( $query_vars['page'] ) && ! isset( $_registered_pages[ "appearance_page_{$query_vars['page']}" ] ) ) {
				$return_url = admin_url( 'themes.php' );
			}
		}

		return $return_url;
	}

Changelog

Version Description
4.4.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_customize_manager/get_return_url