Magento 如果购物车为空,则重定向到主页

Magento 如果购物车为空,则重定向到主页,magento,redirect,shopping-cart,Magento,Redirect,Shopping Cart,我想重定向用户到主页,如果购物车是空的,这是可以从管理面板做的,如果是的,请指导,否则我必须重定向控制器过载 我不认为你能从管理员那里做到这一点,但你可以试试 在app/design/frontend/default/your theme/template/checkout/cart/noItems.phtml中添加(这可能不是最好的解决方案,但确实有效) 将其添加到functions.php function cart_empty_redirect_to_shop() { globa

我想重定向用户到主页,如果购物车是空的,这是可以从管理面板做的,如果是的,请指导,否则我必须重定向控制器过载

我不认为你能从管理员那里做到这一点,但你可以试试

  • app/design/frontend/default/your theme/template/checkout/cart/noItems.phtml中添加(这可能不是最好的解决方案,但确实有效)


  • 将其添加到
    functions.php

    function cart_empty_redirect_to_shop() {
        global $woocommerce;
    
        if ( is_page('cart') and !sizeof($woocommerce->cart->cart_contents) ) {
            wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) ); exit;
        }
    }
    
    add_action( 'wp_head', 'cart_empty_redirect_to_shop' );
    

    以上内容将把一个空购物车重定向到商店页面。

    第一个解决方案不起作用,而且我认为从phtml文件重定向也不好。我认为观察员是最后的选择。谢谢你的回复,但它的黑客,我想看看是否有任何由magento提供的解决方案。感谢回复上面的一个是“hack”,它们是定制的(假设您没有对magento核心文件进行任何更改),它将首先加载空的购物车页面,然后将用户重定向到主页。用户的时间浪费。Observer是正确的解决方案,在购物车没有项目时立即重定向,而不执行双重重定向。@amitBera你说的RS博客是什么意思?问题是关于Magento的,而不是Wordpress
    <script>
     setTimeout(function () {
       window.location.href = "<?php echo $this->getContinueShoppingUrl() ?>"; //will redirect  to your blog page (an ex: blog.html)
     }, 2000); //will call the function after 2 secs.
    </script>
    
    function cart_empty_redirect_to_shop() {
        global $woocommerce;
    
        if ( is_page('cart') and !sizeof($woocommerce->cart->cart_contents) ) {
            wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) ); exit;
        }
    }
    
    add_action( 'wp_head', 'cart_empty_redirect_to_shop' );