W3cubDocs

/WordPress

WP_Recovery_Mode_Link_Service::handle_begin_link( int $ttl )

Enters recovery mode when the user hits wp-login.php with a valid recovery mode link.

Parameters

$ttlintrequired
Number of seconds the link should be valid for.

Source

public function handle_begin_link( $ttl ) {
	if ( ! isset( $GLOBALS['pagenow'] ) || 'wp-login.php' !== $GLOBALS['pagenow'] ) {
		return;
	}

	if ( ! isset( $_GET['action'], $_GET['rm_token'], $_GET['rm_key'] ) || self::LOGIN_ACTION_ENTER !== $_GET['action'] ) {
		return;
	}

	if ( ! function_exists( 'wp_generate_password' ) ) {
		require_once ABSPATH . WPINC . '/pluggable.php';
	}

	$validated = $this->key_service->validate_recovery_mode_key( $_GET['rm_token'], $_GET['rm_key'], $ttl );

	if ( is_wp_error( $validated ) ) {
		wp_die( $validated, '' );
	}

	$this->cookie_service->set_cookie();

	$url = add_query_arg( 'action', self::LOGIN_ACTION_ENTERED, wp_login_url() );
	wp_redirect( $url );
	die;
}

Changelog

Version Description
5.2.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_recovery_mode_link_service/handle_begin_link