Как перенаправить вышедших из системы пользователей на страницу моей учетной записи вместо страницы оформления заказа - PullRequest
1 голос
/ 01 апреля 2019

Я пытаюсь перенаправить зарегистрированных пользователей на страницу моей учетной записи, когда они пытаются оформить заказ.

Я пробовал это, но теперь он работает

function wpse_131562_redirect() {
    if (
        ! is_user_logged_in()
        && (is_cart() || is_checkout())
    ) {

        wp_redirect('woocommerce_myaccount_page_id'());
        exit;
    }
}
add_action('template_redirect', 'wpse_131562_redirect');

1 Ответ

1 голос
/ 01 апреля 2019

Ваш код не может работать, поскольку отсутствует ссылка для перенаправления ... Попробуйте вместо этого следующее (перенаправление незарегистрированного пользователя из Checkout в мою учетную запись) :

add_action('template_redirect', 'unlogged_my_account_redirect');
function unlogged_my_account_redirect() {
    if ( ! is_user_logged_in() && is_checkout() && ! is_wc_endpoint_url() ) {
        wp_redirect( get_permalink( get_option('woocommerce_myaccount_page_id') ) );
        exit();
    }
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...