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

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

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

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

Функция имеет следующий формат:

wp_logout_url( $redirect );
  • $redirect (строка): Путь, на который пользователь будет перенаправлен после выхода. По умолчанию: '' (ничего не указывается).

Пример использования функции

Вот как можно использовать эту функцию в различных ситуациях:

Пример 1: Получение URL для выхода в любой части темы

Выйти

Пример 2: Перенаправление на главную страницу после выхода

Выйти

Пример 3: Перенаправление на другой сайт после выхода

Если вы хотите, чтобы пользователь перенаправлялся на другой сайт после выхода, нужно сначала добавить этот сайт в белый список. Для этого используйте фильтр allowed_redirect_hosts.


Выйти

Пример 4: Оставаться на текущей странице после выхода

Выйти

Пример 5: Выйти и оставаться на текущей странице

$linkpage = esc_url( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
echo sprintf( 'Выйти', wp_logout_url( $linkpage ) );

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

Функция возвращает строку. Это будет URL для выхода из системы, который будет закодирован в HTML с использованием функции esc_html() в wp_nonce_url().

Код функции

Вот как сама функция выглядит в коде WordPress:

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

    $logout_url = add_query_arg( $args, site_url( 'wp-login.php?action=logout', 'login' ) );
    $logout_url = wp_nonce_url( $logout_url, 'log-out' );

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

Заключение

Функция WP_LOGOUT_URL() — это полезный инструмент для разработки, который позволяет делать выход пользователей из системы более удобным и безопасным. С помощью различных параметров вы можете контролировать, куда будет направлен пользователь после выхода, а также добавлять свои собственные страницы для перенаправления.

Leave a Reply

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