Отключить страницу корзины, но сохранить страницу оформления заказа в Woocommerce - PullRequest
0 голосов
/ 18 декабря 2018

В настоящее время я ищу лучший способ, чем этот вопрос здесь, чтобы удалить / отключить страницу корзины в моей установке WooCommerce:

Отключение корзины покупок в WooCommerce

Поэтому я хочу показать 404 вместо перенаправления, чтобы было ясно, что эта страница не существует.

Функциональность должна быть там, потому что мой магазин больше не сможет работать без этого.

Чтобы все было понятно:


I 'Мы создаем пользовательскую кнопку, которая добавляет товары в «корзину» и перенаправляет прямо на страницу оформления заказа.Это должен быть единственный доступный процесс!

1 Ответ

0 голосов
/ 18 декабря 2018

Попробуйте выполнить следующее, которое будет обрабатывать перенаправление корзины:

add_action( 'template_redirect', 'skip_cart_redirect' );
function skip_cart_redirect(){
    // Redirect to checkout (when cart is not empty)
    if ( ! WC()->cart->is_empty() && is_cart() ) {
        wp_safe_redirect( wc_get_checkout_url() ); 
        exit();
    }
    // Redirect to shop if cart is empty
    elseif ( WC()->cart->is_empty() && is_cart() ) {
        wp_safe_redirect( wc_get_page_permalink( 'shop' ) );
        exit();
    }
}

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


Если вы хотите иметь 404 для страницы корзины, вы можете использовать поддельный URL страницы, который будет выглядеть как 404:

add_action( 'template_redirect', 'cart_redirect_404' );
function cart_redirect_404(){
    // Redirect to non existing page that will make a 404
    if ( is_cart() ) {
        wp_safe_redirect( home_url('/cart-page/') ); 
        exit();
    }
}

Код входит в функциюФайл .php вашей активной дочерней темы (или активной темы).Должно работать.

...