GC_Customize_Manager::get_return_url()
最后更新于:2021-11-27 00:59:07
GC_Customize_Manager::get_return_url()Get URL to link the user to when closing the Customizer.
响应
(string) URL for link to close Customizer.
源文件
文件: gc-includes/class-gc-customize-manager.php
public function get_return_url() {
global $_registered_pages;
$referer = gc_get_referer();
$excluded_referer_basenames = array( 'customize.php', 'gc-login.php' );
if ( $this->return_url ) {
$return_url = $this->return_url;
} elseif ( $referer && ! in_array( gc_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 = gc_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;
}