我在自定义选择框编码一组我的产品的改变基于用户的选择的价格。它运作良好,但现在我需要根据他们的选择改变产品标题。变化WooCommerce可变产品称号基于变化
基本上,如果选项1被选择,产品名称保持不变。但选择了选项2,我需要在产品标题的末尾添加“-RZ”。
我不确定我是否可以在'woocommerce_before_calculate_totals'钩子中修改价格,但如果有人知道钩子我应该使用和代码通过PHP访问当前产品的标题,这将是伟大的。
这里是改变价格,如果它是有帮助的代码:
function calculate_core_fee($cart_object) {
if(!WC()->session->__isset("reload_checkout")) {
/* core price */
//echo $additionalPrice;
//$additionalPrice = 100;
foreach ($cart_object->cart_contents as $key => $value) {
$product_id = $value['product_id'];
if(isset($value["addOn"]) && $value["addOn"] == $product_id) {
$additionalPrice = $value['core'];
/* Woocommerce 3.0 + */
$orgPrice = floatval($value['data']->get_price());
//echo $additionalPrice;
//echo $orgPrice;
$value['data']->set_price($orgPrice + $additionalPrice);
}
}
}
}
add_action('woocommerce_before_calculate_totals', 'calculate_core_fee', 99);
我知道可能要得到名字,并将其存储在一个会话变量以后使用,如果钩子做,这是对的购物车,结帐或订购页面而不是单品页面。
太棒了!谢谢 –