WooCommerce - Моя учетная запись - выход из системы и перенаправление на домашнюю страницу

Когда пользователь находится на странице «Моя учетная запись» в WooCommerce, я бы хотел, чтобы он вышел из системы и был перенаправлен на мою домашнюю страницу, а не на страницу входа.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
9 359
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий
add_action('wp_logout','auto_redirect_after_logout');

function auto_redirect_after_logout(){

  wp_redirect( home_url() );
  exit();

}

Я добавил это в свой файл function.php. Когда я щелкнул, чтобы получить доступ к моей учетной записи, страница входа не сработала. По факту ничего не стреляло. Разве это не так просто, как добавить этот код в файл function.php?

Rich72 26.02.2019 12:26

Я добавил код в свою дочернюю тему. apexgray.co.uk/мой аккаунт

Rich72 26.02.2019 12:30

Я снова добавлю код в файл function.php и дам вам знать...

Rich72 26.02.2019 12:32

Возможно, мой вопрос был не ясен. Когда пользователь вошел в свою учетную запись и закончил, когда он нажмет выход из системы, я в идеале хотел бы, чтобы они перешли на домашнюю страницу.

Rich72 26.02.2019 12:37

Я думаю, что мой первоначальный вопрос был запутанным...!

Rich72 26.02.2019 12:38

работает очарование Mujeeba! Спасибо. Если бы я знал, как это сделать!

Rich72 26.02.2019 12:55

Если вы найдете, как обойти подтверждение выхода из WooCommerce, вы можете сделать это:

function wooHook_woocommerce_logout_bypass() {
    global $wp;

    if ( isset( $wp->query_vars['customer-logout'] ) ) {
        wp_redirect( str_replace( '&', '&', 
          wp_logout_url( wc_get_page_permalink( 'hesabim' ) ) ) );
        exit;
    }
}

add_action( 'template_redirect', 'wooHook_woocommerce_logout_bypass' );

Просто чтобы добавить к исходному ответу, использование скрипта выхода для завершения может остановить выполнение Woocommerce после выхода из системы, например очистку файлов cookie (элементы корзины в файлах cookie). Так что лучше всего использовать logout_url фильтр, подобный этому.

function redirect_after_logout($logout_url, $redirect) {
    return $logout_url . '&redirect_to=' . home_url();
}
add_filter('logout_url', 'redirect_after_logout', 10, 2);

Протестировано в Woocommerce версии 5.4.1 ✅

Другие вопросы по теме