【问题标题】:Woocommerce Auto Add to Cart When Visiting product PageWoocommerce 访问产品页面时自动添加到购物车
【发布时间】:2021-06-10 10:00:44
【问题描述】:

当用户访问产品页面时,如何将产品自动添加到购物车, 例如:如果用户访问www.example.com/product/abc 产品,该功能应自动将产品添加到用户购物车

【问题讨论】:

    标签: wordpress woocommerce hook-woocommerce


    【解决方案1】:

    您可以使用 WC 操作挂钩 template_redirect 来检查您是否在单个产品页面上。代码将进入您的活动主题 functions.php 文件。

    您可以使用两种方式添加产品

    使用global $woocommerce;

    $quantity = 1;
    $woocommerce->cart->add_to_cart( get_the_ID(), $quantity );
    

    使用WC()

    $quantity = 1;
    WC()->cart->add_to_cart( $product_id, $quantity );
    

    完整的代码如下所示。

    add_action( 'template_redirect','add_product_into_cart_when_visit_product_page' );
    function add_product_into_cart_when_visit_product_page(){
        if ( class_exists('WooCommerce') ){
            if( is_product() ){
                global $woocommerce;
                $quantity = 1;
                $woocommerce->cart->add_to_cart( get_the_ID(), $quantity );
            }
        } 
    }
    

    注意 - 请记住,如果您每次访问同一页面,它会在您每次访问该页面时添加产品,然后它会增加数量。因此,如果您只想添加一次,请使用以下代码。

    add_action( 'template_redirect','add_product_into_cart_when_visit_product_page' );
    function add_product_into_cart_when_visit_product_page(){
        if ( class_exists('WooCommerce') ){
            global $woocommerce;
            if( is_product() ){
                $product_id = get_the_ID();
                if( !is_product_already_in_cart( $product_id ) ){
                    $quantity = 1;
                    $woocommerce->cart->add_to_cart( $product_id, $quantity );
                }
            }
        } 
    }
    
    function is_product_already_in_cart( $product_id ){
    
        $product_cart_id = WC()->cart->generate_cart_id( $product_id );
        $in_cart         = WC()->cart->find_product_in_cart( $product_cart_id );
      
        if ( $in_cart ) {
            return true;
        }
    
        return false;
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 2018-06-03
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      相关资源
      最近更新 更多