【问题标题】:Get the Cart Item key when using add_to_cart method in Woocommerce在 Woocommerce 中使用 add_to_cart 方法时获取 Cart Item 键
【发布时间】:2019-02-02 01:39:30
【问题描述】:

所以我正在使用 WooCommerce 开发电子商务,我正在通过 add_to_cart 函数手动添加产品。我得到了 add_to_cart 的返回值(order_item_id)并存储在一个自定义表中,其中包含一些其他值。

问题是,在支付网关中,我试图添加一个逻辑,并且需要从数据库中获取这些信息,我试图获取 WC()->cart->cart_contents,进行 foreach 和使用键在我的自定义表中进行选择,但此键是哈希,add_to_cart 函数返回的值是整数。

有人可以帮帮我吗?

【问题讨论】:

    标签: php wordpress woocommerce cart product


    【解决方案1】:

    通常,如果您查看WC_Cart add_to_cart() 方法的源代码,则在成功添加到购物车时,会返回所需的正确购物车项目密钥,例如:

    $cart_item_key = add_to_cart( $product_id ); 
    

    现在您可以使用挂在 woocommerce_add_to_cart 中的自定义函数来获取必要的 cart_item_key 并将所有必要的相关信息存储在您的自定义数据库中。

    这个钩子函数中有所有必要的参数可供您使用:

    add_action( 'woocommerce_add_to_cart', 'custom_action_add_to_cart', 20, 6 );
    function custom_action_add_to_cart( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ){
        // HERE come your code
    }
    

    每次使用add_to_cart()函数时都会触发这个钩子。

    【讨论】:

      【解决方案2】:

      WooCommerce add_to_cart 将返回一个“哈希键”而不是整数。像这样检查。

      global $woocommerce;
      
      $addkey = $woocommerce->cart->add_to_cart('product ID', 'quantity');
      
      foreach ( $woocommerce->cart->cart_contents as $cart_item_key => $cart_item ) {
          $cartkey = $cart_item['key'];
      }
      

      您可以看到$addkey$cartkey 返回相同的值。

      【讨论】:

        猜你喜欢
        • 2022-12-26
        • 2014-09-30
        • 2019-04-24
        • 1970-01-01
        • 2019-01-13
        • 2022-01-05
        • 2021-04-21
        • 1970-01-01
        • 2013-11-05
        相关资源
        最近更新 更多