【问题标题】:Disable cart page but keep the checkout page in Woocommerce禁用购物车页面,但在 Woocommerce 中保留结帐页面
【发布时间】:2019-05-19 07:25:13
【问题描述】:

我目前正在寻找一种更好的方法,然后这个问题在我的 WooCommerce 安装中删除/禁用购物车页面:

Disabling shopping basket in WooCommerce

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

功能必须存在,因为没有它我的商店就无法工作。

说清楚:


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

【问题讨论】:

    标签: php wordpress redirect woocommerce cart


    【解决方案1】:

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

    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();
        }
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。它应该可以工作。

    【讨论】:

    • 所以如果没有重定向(例如显示未找到 404)就不可能做到这一点?
    • 不。 minicart 未启用且不可见。我只是在任何清洁购物车的产品中单击“继续结帐”按钮,仅添加按下按钮的产品并重定向到结帐。所以光学上没有推车。用户没有迷你购物车和普通购物车。因此,例如,当您访问我的页面并知道它是 WooCommerce 并输入 ../cart/ 时,您应该得到一个 404 以表明这在前端不可用。如果可能,将是我的首选解决方案。
    • @Mr.Jo 我在之后添加了一个附加项,应该是 404。不确定这是否是你想要的。我没有看到任何其他方法......我想你也可以调整 htaccess 文件。
    • 我会试试这个。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多