禁用购物车页面但在 Woocommerce 中保留结帐页面

Mr.*_* Jo 2 php wordpress redirect cart woocommerce

我目前正在寻找比这里问题更好的方法来删除/禁用我的 WooCommerce 安装中的购物车页面:

在 WooCommerce 中禁用购物篮

所以我想显示 404 而不是重定向,以便很明显该页面不存在。

功能必须在那里,因为没有这个我的商店就无法工作。

说清楚:


我已经构建了一个自定义按钮,它将产品添加到“购物车”并直接重定向到结帐页面。这应该是唯一可用的过程!

Loi*_*tec 6

尝试以下处理购物车重定向的方法:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的 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();
    }
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的 function.php 文件中。它应该有效。