【发布时间】:2018-10-01 18:20:55
【问题描述】:
我想在用户购买 x 产品时在我的网站上实现功能,然后用户将免费获得 y 产品。
在我的网站上,我有多种产品。如果客户购买 1 公斤包装的 X 产品,那么客户想要免费获得 30 毫升的 Y 产品。
我在我的 function.php 中添加了以下代码,但它的工作问题是当刷新页面礼品产品数量增加时。 我更新的代码。
add_action( 'woocommerce_before_cart', 'bbloomer_apply_matched_coupons' );
function bbloomer_apply_matched_coupons() {
global $woocommerce;
$cat_in_cart = false;
foreach ( $woocommerce->cart->cart_contents as $key => $values ) {
// this is your product ID
$autocoupon = array( 123411 );
if( in_array( $values['variation_id'], $autocoupon ) ) {
$cat_in_cart = true;
break;
}
}
if ( $cat_in_cart ) {
$product_id = 2044;
$quantity = 1;
$variation_id = 2046;
$variation = array(
'pa_size' => '30ml'
);
$woocommerce->cart->add_to_cart( $product_id, $quantity, $variation_id, $variation );
}
}
【问题讨论】:
-
您在我的一个答案线程中寻求帮助……所以这是一个不同的工作答案。请您对此进行反馈会很好。
标签: php wordpress woocommerce