# WP_LOGINOUT() │ WP 1.5.0
Функция wp_loginout() позволяет отображать ссылку для входа и выхода из аккаунта на вашем сайте WordPress. Эта функция полезна для пользователей, чтобы они могли легко перейти на страницу входа или выхода в зависимости от того, авторизованы они или нет.
## Как работает wp_loginout()
Функция сначала проверяет, вошел ли пользователь в свою учетную запись. В зависимости от этого, она создаст соответствующую ссылку.
### Вход и выход
Если пользователь не авторизован, функция создаст ссылку "Войти". Если авторизован — ссылку "Выйти".
### Используемые функции
Эта функция использует две другие функции:
- wp_login_url() — для получения URL (ссылки) страницы входа.
- wp_logout_url() — для получения URL (ссылки) страницы выхода.
### Производительность
- **1 раз** — 0.000138 сек (быстро)
- **50,000 раз** — 3.67 сек (быстро)
## Хуки функции
- loginout — этот хук позволяет изменить HTML-код ссылки перед тем, как он будет показан.
## Возвращаемое значение
Функция возвращает:
- null или строку. Если аргумент $display установлен в true, то функция ничего не возвращает, а просто выводит ссылку на экран. Если $display установлен в false, то возвращает ссылку.
## Использование функции
Вы можете использовать wp_loginout() следующим образом:
```php
wp_loginout( $redirect, $display );
Где:
$redirect(string) — не обязательный параметр, который указывает путь для перенаправления после входа или выхода. По умолчанию:''.$display(bool) — по умолчанию установлен наtrue, что означает, что ссылка будет выводиться на экран. Если установитьfalse, функция вернет ссылку.
Примеры использования
Пример 1: Базовое использование
Простой вызов функции:
wp_loginout();
Это создаст ссылку для выхода или входа:
Выйти
Пример 2: Добавление ссылки "Войти/Выйти" в меню навигации
Чтобы добавить ссылку входа/выхода в навигационное меню вашей темы, добавьте следующий код в файл functions.php вашей родительской или дочерней темы:
add_filter( 'wp_nav_menu_secondary_items', 'wpdocs_loginout_menu_link' );
/**
* Добавить ссылку "Войти/Выйти" в меню с перенаправлением на эту страницу
*/
function wpdocs_loginout_menu_link( $menu ) {
$loginout = wp_loginout( $_SERVER['REQUEST_URI'], false );
$menu .= $loginout;
return $menu;
}
Для некоторых тем, таких как Twenty Thirteen, может понадобиться добавить класс к коду:
$loginout = sprintf( '%s ', wp_loginout( $_SERVER['REQUEST_URI'], false ) );
Изменения
- С версии 1.5.0 — функция была добавлена.
Код функции wp_loginout
Вот как выглядит исходный код функции:
function wp_loginout( $redirect = '', $display = true ) {
if ( ! is_user_logged_in() ) {
$link = '' . __( 'Войти' ) . '';
} else {
$link = '' . __( 'Выйти' ) . '';
}
if ( $display ) {
echo apply_filters( 'loginout', $link );
} else {
return apply_filters( 'loginout', $link );
}
}
Связанные функции
Функции для работы с входом и выходом:
check_password_reset_key()get_password_reset_key()is_login()is_user_logged_in()wp_authenticate()wp_login_url()wp_logout_url()wp_lostpassword_url()