woocommerce如何获得单个产品的$ cart_item_key

Sar*_*ane 7 php wordpress wordpress-theming woocommerce

我正在实现"添加到购物车"按钮旁边的"删除项目"按钮,但是我在获取单个产品的变量$ cart_item_key时遇到问题.我有全局变量$ woocommerce和$ product但是使用$ cart_item_key的唯一方法是foreach,它对我没有任何帮助,因为我需要在add-to-cart.php中添加我的代码.

Job*_*ose 12

您必须像这样在循环内为每个产品设置删除链接,

foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $cart_item ) {

 echo $cart_item_key;
 if($cart_item['product_id'] == $your_product_id_to_remove ){
    //remove single product
 }
} 
Run Code Online (Sandbox Code Playgroud)

在任何情况下,您都有购物车商品列表; 从那你必须删除,所以foreach将符合您的要求.

希望它的帮助..

  • 这似乎是一种非常低效的方法来实现这一目标.我知道WooCommerce的结构或多或少地强制了这种类型的解决方案 - 但是,我们基本上是这样说的:"对于购物车中的每件商品,检查购物车中的所有其他商品,如果匹配的话- 做一点事".做基本数学我们可以清楚地看到,我们必须遍历我们的购物车项目"Y平方"时间(其中Y是我们购物车中的商品数量).1项 - 2次迭代2项 - 4次迭代3项 - 9次迭代4项 - 16次迭代 (2认同)