如何基于meta_key检查购物车中产品的重量



我正在寻找一个基于meta检查推车中重量的解决方案。例如,它打印::

  • 篮子里5公斤是冷的和热的
  • 你篮子里的2.5公斤是另一个

我使用以下循环来检查元密钥:

$category_check = false;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
if ( $cold = $product->get_meta('cold_product') or $hot= $product->get_meta( 'hot_product' ) ) {
$category_check = true;
break;
}
}

然后在用一个特殊的meta检查产品后,我想计算一下重量。

if (category_check ) {
echo 'your basket include:';
// I stock in this stage 
// Show total weight of product $cold and $hot

}

你能给我一些关于创建第二个循环的提示吗?事实上,我需要一个像$new_weight这样的新变体来保持产品的总重量,即$cold$hot

好的,我找到了答案,我把它放在这里与其他人分享:

$cat_check = false;
$w= 0;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
$weight=$product->get_weight() * $cart_item['quantity'];
if ( $cold = $product->get_meta('cold_product') or $coldsummer = $product->get_meta( 'cold_product_summer' ) ) {
$cat_check = true;
$w = $w + $weight;
}                
}  

然后我使用以下部分打印它:

if ($cat_check) {
echo '<p>your basket include: ' . $w . ' kg special products.</p>';
}

相关内容

  • 没有找到相关文章

最新更新