gpt4 book ai didi

php - 在 Woocommerce 中按商品 ID 获取购物车商品数量

转载 作者:行者123 更新时间:2023-12-01 12:17:37 25 4
gpt4 key购买 nike

在 WooCommerce 中,我创建了一个迷你购物车,我想要获取当前购物车中可用的商品数量。

我试过这个:

  $items = $woocommerce->cart->get_cart();

foreach($items as $item => $values) {
$product_id = $values['product_id'];
if ( $product_id == $id ){
$product_qnty = $values['quantity'];
}
break;
}

是否有任何单一函数可以按购物车商品获取购物车商品数量?

最佳答案

也许你应该先看看 woocommerce template code cart/mini-cart.php哪里可以找到官方的相关代码。

注意:“项目 ID”仅在 WC_Orders 项目循环中可用,但在作为“购物车项目键”的 WC_Cart 中不可用。所以你肯定是在谈论产品 ID。但是如果你查看官方模板 cart/mini_cart 的代码,你将需要使用 WC_Product 对象而不是 $product_id ...

因此,您始终可以构建自定义函数,例如 (带有 $product 参数,WC_Product 对象),您可以在相应的模板代码或在您的自定义代码中:

function get_item_qty( $product ){
foreach( WC()->cart->get_cart() as $cart_item )
// for variable products (product varations)
$product_id = $product->get_parent_id();
if( $product_id == 0 || empty( $product_id ) )
$product_id = $product->get_id();

if ( $product_id == $cart_item['product_id'] ){
return $cart_item['quantity'];
// break;
}
return;
}

代码位于您的事件子主题(或主题)的 function.php 文件中或任何插件文件中。


用法 (示例):这里我们将输出$product 的数量( WC_Product 对象):

// Output the quantity based on the $product object
echo __('Quantity'). ': ' . get_item_qty( $product );

官方文档:Template Structure + Overriding Templates via a Theme

关于php - 在 Woocommerce 中按商品 ID 获取购物车商品数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46986023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com