WP_Recovery_Mode::handle_exit_recovery_mode()publicWP 5.2.0

Handles a request to exit Recovery Mode.

Метод класса: WP_Recovery_Mode{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$WP_Recovery_Mode = new WP_Recovery_Mode();
$WP_Recovery_Mode->handle_exit_recovery_mode();

Список изменений

С версии 5.2.0 Введена.

Код WP_Recovery_Mode::handle_exit_recovery_mode() WP 6.5.2

public function handle_exit_recovery_mode() {
	$redirect_to = wp_get_referer();

	// Safety check in case referrer returns false.
	if ( ! $redirect_to ) {
		$redirect_to = is_user_logged_in() ? admin_url() : home_url();
	}

	if ( ! $this->is_active() ) {
		wp_safe_redirect( $redirect_to );
		die;
	}

	if ( ! isset( $_GET['action'] ) || self::EXIT_ACTION !== $_GET['action'] ) {
		return;
	}

	if ( ! isset( $_GET['_wpnonce'] ) || ! wp_verify_nonce( $_GET['_wpnonce'], self::EXIT_ACTION ) ) {
		wp_die( __( 'Exit recovery mode link expired.' ), 403 );
	}

	if ( ! $this->exit_recovery_mode() ) {
		wp_die( __( 'Failed to exit recovery mode. Please try again later.' ) );
	}

	wp_safe_redirect( $redirect_to );
	die;
}