Попробуйте выполнить следующее, которое будет обрабатывать перенаправление корзины:
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 вашей активной дочерней темы (или активной темы).Должно работать.