Функция WP_LOSTPASSWORD_URL() в WordPress: использование и примеры.

Функция WP_LOSTPASSWORD_URL() в WordPress

Функция WP_LOSTPASSWORD_URL() используется для получения URL-адреса, по которому пользователь может восстановить забытый пароль.

Хуки функции

  • lostpassword_url

Возвращаемое значение

Строка, содержащая URL для восстановления пароля.

Применение функции

Вызов функции по следующему синтаксису:

wp_lostpassword_url( $redirect );

Параметр

  • $redirect (строка): Путь для переадресации после входа. По умолчанию: пустая строка.

Примеры использования

Простой пример

  1. Ссылка для восстановления пароля:
Забыли пароль?
  1. Восстановление пароля с переадресацией на текущую страницу:
Забыли пароль?
  1. Восстановление пароля с переадресацией на главную страницу:
Забыли пароль?

Изменение страницы для сброса пароля

Допустим, вы создали свою страницу для восстановления пароля, например, /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 );
}

Таким образом, получится URL следующего формата:

http://пример.com/getpassword?redirect=URL

Изменения в версии

  • С версии 2.8.0: Функц��я была введена.

Код функции WP_LOSTPASSWORD_URL()

Вот реализация функции wp_lostpassword_url:

function wp_lostpassword_url( $redirect = '' ) {
$args = array(
'action' => 'lostpassword', // Действие для восстановления пароля
);

if ( ! empty( $redirect ) ) {
    $args['redirect_to'] = urlencode( $redirect ); // Кодируем URL для переадресации
}

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' ) ); // Собираем URL для восстановления пароля

/**
 * Фильтрует URL для восстановления пароля.
 *
 * @since 2.8.0
 *
 * @param string $lostpassword_url URL страницы восстановления пароля.
 * @param string $redirect         Путь для переадресации после входа.
 */
return apply_filters( 'lostpassword_url', $lostpassword_url, $redirect );

}

Связанные функции

Вот некоторые функции, которые могут быть полезны для работы с пользователями и их паролями в WordPress:

  • Регистрация (вход для пользователей):

    • register_new_user()
    • wp_get_session_token()
    • wp_new_user_notification()
  • Вход/Выход:

    • check_password_reset_key()
    • get_password_reset_key()
    • is_login()
    • is_user_logged_in()
    • wp_authenticate()
    • wp_login_url()
    • wp_logout()

Эти функции помогут вам управлять пользователями и их аутентификацией в вашей системе на WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *