【问题标题】:Redirect to home if the cart is empty in Woocommerce如果 Woocommerce 中的购物车为空,则重定向到主页
【发布时间】:2019-04-16 17:03:48
【问题描述】:

我正在寻找但找不到任何地方,因为我可以将空的 woocommerce 购物车重定向到主页。我只找到去商店的重定向。

这是我找到的,但我不需要重定向到家:

add_action("template_redirect", 'redirection_function');
function redirection_function(){
    global $woocommerce;
    if( is_cart() && WC()->cart->cart_contents_count == 0){
        wp_safe_redirect( get_permalink( woocommerce_get_page_id( 'shop' ) ) );
    }
}

上下文链接:If cart is empty, the cart page will redirect to shop page in WooCommerce?

【问题讨论】:

    标签: wordpress redirect woocommerce cart


    【解决方案1】:

    如果购物车为空,则要重定向到主页,您将使用类似的代码:

    add_action( 'template_redirect', 'empty_cart_redirection' );
    function empty_cart_redirection(){
        if( WC()->cart->is_empty() && is_cart() ){
            wp_safe_redirect( esc_url( home_url( '/' ) ) );
            exit;
        }
    }
    

    代码进入您的活动子主题(活动主题)的 function.php 文件中。经过测试并且可以工作。

    但如果通过 ajax 清空购物车,此代码将启用重定向到主页,直到页面重新加载。

    【讨论】:

    • 您好 LoicTheAztec,首先,感谢您的关注。不幸的是,我已将代码添加到我的主题的 function.php 中,但它没有反应。就好像你什么都不做一样。我可以向您保证,之前写入我的问题的代码可以正常工作,但它会重定向到商店。我不明白为什么你的不重定向到任何地方。再次感谢您
    • @EnricSerraDuran 该代码在购物车为空并重定向到主页时有效。现在在购物车页面你不能使用它,因为它会避免空车并出错,所以它在条件! is_cart()的购物车页面中无效。
    • 有没有办法在使用 ajax 更新时检查购物车是否为空? @LoicTheAztec
    【解决方案2】:

    对于那些通过搜索找到这个的人(比如我),如果您希望空购物车重定向回主页,Loic 提供的代码只需稍作改动即可工作:

    add_action( 'template_redirect', 'empty_cart_redirection' );
    function empty_cart_redirection(){
        if( WC()->cart->is_empty() && ( ! is_front_page() || is_cart() ) ){
            wp_safe_redirect( esc_url( home_url( '/' ) ) );
            exit;
        }
    }
    

    【讨论】:

    • 不,当您的购物车为空时,这会使每个页面都重定向到主页。
    猜你喜欢
    • 2014-08-09
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2018-10-16
    • 2021-02-04
    • 2018-06-05
    相关资源
    最近更新 更多