我正在寻找一个基于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>';
}