php-如何更改购物车中的可变产品价格还删除Woocommerce中删除特定产品表格的购物车
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-如何更改购物车中的可变产品价格还删除Woocommerce中删除特定产品表格的购物车,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2305字,纯文字阅读大概需要4分钟。
内容图文
在我的网站上,我将一个可变产品添加到购物车中.当时,另一个可变产品也添加到该购物车中,该产品为礼品产品.现在,我想将礼品可变产品价格更改为0,仅当条件满足购物车中提供礼物的产品.我也想通过单击提供礼物的产品来删除相同的两种产品形式.下面的代码对我不起作用.
add_action( 'woocommerce_before_calculate_totals', 'change_custom_price' );
function change_custom_price( $cart_object ) {
$custom_price = 0; // This will be your custome price
$gift_variation_id = 2046;
foreach ( $cart_object->cart_contents as $value ) {
if ( $value['variation_id'] == $gift_variation_id ) {
$value['data']->price = $custom_price;
}
}
}
解决方法:
可以根据此解决方案添加礼品-Buy one get one in woocommerce with out coupon code.
您可以将以下内容添加到主题的“ functions.php”中,以删除其他产品自动添加的礼品.
function remove_gift_product($cart_item_key) {
global $woocommerce;
$cat_in_cart = false;
$coupon_in_cart = false;
$autocoupon = array( 123411 ); // variation ids of products that offers gifts
$freecoupon = array( 2046 ); // variation ids of products that are gift coupons
foreach ( $woocommerce->cart->cart_contents as $key => $values ) {
if( in_array( $values['variation_id'], $autocoupon ) ) {
$cat_in_cart = true;
}
}
if ( !$cat_in_cart ) {
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {
if ( in_array( $cart_item['variation_id'], $freecoupon )) {
$woocommerce->cart->remove_cart_item($cart_item_key);
}
}
}
}
add_action( 'woocommerce_cart_item_removed', 'remove_gift_product' );
如果要降低礼品价格,请添加此标签.
function add_discount_price( $cart_object ) {
global $woocommerce;
$cat_in_cart = false;
$autocoupon = array( 123411 ); // variation ids of products that offers gifts
$freecoupon = array( 2046 ); // variation ids of products that are gift coupons
foreach ( $woocommerce->cart->cart_contents as $key => $values ) {
if( in_array( $values['variation_id'], $autocoupon ) ) {
$cat_in_cart = true;
}
}
if ( $cat_in_cart ) {
$custom_price = 0; // This will be your custome price
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {
if ( in_array( $cart_item['variation_id'], $freecoupon )) {
$cart_item['data']->set_price($custom_price);
}
}
}
}
add_action( 'woocommerce_before_calculate_totals', 'add_discount_price' );
内容总结
以上是互联网集市为您收集整理的php-如何更改购物车中的可变产品价格还删除Woocommerce中删除特定产品表格的购物车全部内容,希望文章能够帮你解决php-如何更改购物车中的可变产品价格还删除Woocommerce中删除特定产品表格的购物车所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。