WooC 中的自定义项目价格变化
Custom item prices change in WooC
在 WooC 中有自定义项目行价格的情况。
现在以这种方式找到在订单编辑中更改小计的解决方案:
add_action( 'woocommerce_update_order_item', function ($_item_id, $_item, $_order_id) {
if( $arr_item_meta = wc_get_order_item_meta($_item_id) )
{
$prc = wooc_item1_price( $arr_item_meta["_a1"][0], $arr_item_meta["_a2"][0], $arr_item_meta["_a3"][0], $_item->get_product()->get_id() );
$_item -> set_total( $prc );
$_item -> set_subtotal( $prc );
$_item -> save();
}
},10,3);
这只适用于编辑。 IE。更新时 - 它设置了我用函数
制定的价格
wooc_item1_price 购物车参数很少(每种产品的数量)
问题是:
如何在将产品添加到购物车后制作相同的产品。
因此,新的小计+总计将在任何 edit/updater 之前按顺序提供。
请帮助我!
add_action ('woocommerce_calculate_totals', function( $_cart )
{
foreach ($_cart->cart_contents as $cart_key => $cart_item)
{
$prc = function_to_make_item_custom_price(
$_cart->cart_contents[$cart_key]["_param1"],
$_cart->cart_contents[$cart_key]["_param2"],
$_cart->cart_contents[$cart_key]["_param3"],
$_cart->cart_contents[$cart_key]["product_id"]
);
$_cart->cart_contents[$cart_key]['line_subtotal'] = $prc;
$_cart->cart_contents[$cart_key]['line_total'] = $prc;
}
}, 10,1);
这是正确的方法 - 在将商品添加到购物车时定价。
需要有价格函数 function_to_make_item_custom_price 才能根据参数自定义价格。就我而言 - 这是产品部件的数量(成人&儿童&婴儿 param1、param2、param3)
它的想法很简单,还需要重新计算税收、优惠券...
在 WooC 中有自定义项目行价格的情况。 现在以这种方式找到在订单编辑中更改小计的解决方案:
add_action( 'woocommerce_update_order_item', function ($_item_id, $_item, $_order_id) {
if( $arr_item_meta = wc_get_order_item_meta($_item_id) )
{
$prc = wooc_item1_price( $arr_item_meta["_a1"][0], $arr_item_meta["_a2"][0], $arr_item_meta["_a3"][0], $_item->get_product()->get_id() );
$_item -> set_total( $prc );
$_item -> set_subtotal( $prc );
$_item -> save();
}
},10,3);
这只适用于编辑。 IE。更新时 - 它设置了我用函数
制定的价格wooc_item1_price 购物车参数很少(每种产品的数量)
问题是:
如何在将产品添加到购物车后制作相同的产品。 因此,新的小计+总计将在任何 edit/updater 之前按顺序提供。 请帮助我!
add_action ('woocommerce_calculate_totals', function( $_cart )
{
foreach ($_cart->cart_contents as $cart_key => $cart_item)
{
$prc = function_to_make_item_custom_price(
$_cart->cart_contents[$cart_key]["_param1"],
$_cart->cart_contents[$cart_key]["_param2"],
$_cart->cart_contents[$cart_key]["_param3"],
$_cart->cart_contents[$cart_key]["product_id"]
);
$_cart->cart_contents[$cart_key]['line_subtotal'] = $prc;
$_cart->cart_contents[$cart_key]['line_total'] = $prc;
}
}, 10,1);
这是正确的方法 - 在将商品添加到购物车时定价。 需要有价格函数 function_to_make_item_custom_price 才能根据参数自定义价格。就我而言 - 这是产品部件的数量(成人&儿童&婴儿 param1、param2、param3)
它的想法很简单,还需要重新计算税收、优惠券...