Как перенаправить вышедших пользователей на страницу моей учетной записи вместо страницы оформления заказа

#php #wordpress #woocommerce #cart #checkout

#php #wordpress #woocommerce #Корзина #Оформить покупку

Вопрос:

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

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

 function wpse_131562_redirect() {
    if (
        ! is_user_logged_in()
        amp;amp; (is_cart() || is_checkout())
    ) {

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

Ответ №1:

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

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

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