3
我已經建立了使用woocommerce_before_add_to_cart_button
鉤一個隱藏的輸入項WooCommerce價格中重寫不工作
function add_gift_wrap_field() {
?>`<input type="hidden" id="price_val" name="added_price" value="100.34">`<?php
}
add_action('woocommerce_before_add_to_cart_button', 'add_gift_wrap_field');
保存對產品領域:
function save_gift_wrap_fee($cart_item_data, $product_id) {
if(isset($_POST['added_price'])) {
$cart_item_data = array();
$cart_item_data[ "gift_wrap_fee" ] = "YES";
$cart_item_data[ "gift_wrap_price" ] = 100;
}
return $cart_item_data;
}
add_filter('woocommerce_add_cart_item_data', 'save_gift_wrap_fee', 99, 2);
現在,我可以附和了這裏面的$_POST['added_price']
woocommerce_before_calculate_totals
鉤。
我編寫的代碼如下所示:
function calculate_gift_wrap_fee($cart_object) {
if(!WC()->session->__isset("reload_checkout")) {
/* Gift wrap price */
$additionalPrice = number_format($_POST['added_price'], 2);
$additionalPrice = floatval($additionalPrice);
//echo $additionalPrice; exit(); shows the value
foreach ($cart_object->cart_contents as $key => $value) {
if(isset($value["gift_wrap_fee"])) {
/* Woocommerce 3.0 + */
$orgPrice = floatval($value['data']->get_price());
$value['data']->set_price($orgPrice + $additionalPrice); //not adding the $additionalPrice here.
}
}
}
}
add_action('woocommerce_before_calculate_totals', 'calculate_gift_wrap_fee', 99);
什麼我錯在這裏做什麼?
我剛剛加入:) –
謝謝:) ...爲什麼你不添加到購物車對象''added_price''在同一時間? – LoicTheAztec
試過但實際上沒有工作 –