【发布时间】:2020-10-10 14:05:32
【问题描述】:
我正在尝试在 woocommerce 的购物车中同步两个产品 ID,以便一个更改会带来另一个数量的更改,我正在尝试此代码,但它会使用主产品 ID 更新购物车中的所有产品,而我没有想要。
add_action( 'template_redirect', 'bbloomer_sync_cart_quantities' );
function bbloomer_sync_cart_quantities() {
if ( WC()->cart->is_empty() ) return;
$master_product_id = 20;
$in_cart = false;
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
if ( $master_product_id === $cart_item['product_id'] ) {
$qty = $cart_item['quantity'];
$in_cart = true;
break;
}
}
if ( ! $in_cart ) return;
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
if ( $master_product_id !== $cart_item['product_id'] ) {
WC()->cart->set_quantity( $cart_item_key, $qty );
}
}
}
【问题讨论】:
-
您好,您是否希望所有数量都同步而不管哪一项更改?
-
当主产品数量发生变化时,它适用于购物车中的所有数量...
-
我希望它用于特定项目,假设 masterproduct 是 A ,而另一个产品是 B,A 的变化会带来 B 的数量变化,并且不要改变购物车中的其他数量。
-
我明白了,您是否考虑过您希望如何确定哪些产品应按数量链接?例如,您已经知道 ID 的具体是 2/3/4 产品,还是可以更改?如果是,您打算如何确定哪些同步?
-
是的,我已经知道我希望同步的两个 ID
标签: php jquery wordpress woocommerce