Функция WP_LOSTPASSWORD_URL() в WordPress
Функция WP_LOSTPASSWORD_URL() используется для получения URL-адреса, по которому пользователь может восстановить забытый пароль.
Хуки функции
- lostpassword_url
Возвращаемое значение
Строка, содержащая URL для восстановления пароля.
Применение функции
Вызов функции по следующему синтаксису:
wp_lostpassword_url( $redirect );
Параметр
- $redirect (строка): Путь для переадресации после входа. По умолчанию: пустая строка.
Примеры использования
Простой пример
- Ссылка для восстановления пароля:
Забыли пароль?
- Восстановление пароля с переадресацией на текущую страницу:
Забыли пароль?
- Восстановление пароля с переадресацией на главную страницу:
Забыли пароль?
Изменение страницы для сброса пароля
Допустим, вы создали свою страницу для восстановления пароля, например, /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.