wp_lostpassword_url()WP 2.8.0

Получает УРЛ (ссылку) на страницу восстановления пароля. Принято использовать в шаблоне (тег шаблона).

Хуки из функции

Возвращает

Строку.

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

$lostpassword_url = wp_lostpassword_url( $redirect );
echo esc_url( $lostpassword_url );
$redirect(строка)

УРЛ на который перекинет пользователя после того, как он ввел email и нажал на кнопку восстановления пароля.

Можно указать URL только на страницы текущего сайта.

Если оставить поле пустым, то будет установлена следующая ссылка: http://example.com/wp-login.php?checkemail=confirm

По умолчанию: ''

Примеры

0

#1 Базовое использование:

<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>">Забыли пароль?</a>

Восстановление пароля с переходом на текущую страницу:

<a href="<?php echo esc_url( wp_lostpassword_url( get_permalink() ) ); ?>">Забыли пароль?</a>

Восстановление пароля с переходом на главную страницу:

<a href="<?php echo esc_url( wp_lostpassword_url( home_url() ) ); ?>">Забыли пароль?</a>
0

#2 Изменим страницу для сброса пароля через хук

Допустим мы создали свою страницу для восстановления пароля: /getpassword и теперь нам нужно изменить все ссылки на восстановления пароля на сайте. Сделать это быстро можно через хук lostpassword_url:

add_filter( 'lostpassword_url', 'change_lostpassword_url', 10, 2 );

function change_lostpassword_url( $url, $redirect ){

	$new_url = home_url( '/getpassword' );

	return add_query_arg( array('redirect'=>$redirect), $new_url );
}

// Получим: http://example.com/getpassword?redirect=URL

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

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

Код wp_lostpassword_url() WP 6.4.3

function wp_lostpassword_url( $redirect = '' ) {
	$args = array(
		'action' => 'lostpassword',
	);

	if ( ! empty( $redirect ) ) {
		$args['redirect_to'] = urlencode( $redirect );
	}

	if ( is_multisite() ) {
		$blog_details  = get_site();
		$wp_login_path = $blog_details->path . 'wp-login.php';
	} else {
		$wp_login_path = 'wp-login.php';
	}

	$lostpassword_url = add_query_arg( $args, network_site_url( $wp_login_path, 'login' ) );

	/**
	 * Filters the Lost Password URL.
	 *
	 * @since 2.8.0
	 *
	 * @param string $lostpassword_url The lost password page URL.
	 * @param string $redirect         The path to redirect to on login.
	 */
	return apply_filters( 'lostpassword_url', $lostpassword_url, $redirect );
}