我想删除/外卖一个特定类别产品的价格从购物车总计。
请看这张截图:
我能用什么钩子来做这个?
谢谢。
发布于 2016-11-15 03:35:04
这样做的正确方法是使用woocommerce_before_calculate_totals
使用has_term()
WordPress条件函数来筛选购物车项目中的产品类别。这样你就可以使那辆手推车的价格为零。
这是代码(增加了Woocommerce 3+的兼容性)
add_action( 'woocommerce_before_calculate_totals', 'custom_price_product_category', 20, 1 );
function custom_price_product_category( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
return;
foreach ( $cart->get_cart() as $cart_item ) {
// When a product has 'glass' as category we null the price.
if( has_term( 'glass', 'product_cat', $cart_item["product_id"] ) ){
// Added Woocommerce 3+ compatibility
if( version_compare( WC_VERSION, '3.0', '<' ) )
$item['data']->price = '0';
else
$item['data']->set_price(0);
}
}
}
这会出现在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中。
这段代码是经过测试和工作的。
https://stackoverflow.com/questions/40572277
复制相似问题