Woocommerce,当用户在结帐时选择一个选项时添加费用

时间:2018-04-23 10:11:38

标签: woocommerce hook-woocommerce

我有一个支付网关(银行),它有一个选择分期付款的选项 当用户选择一个选项时,它应该更新结账总额(购物车总数* 0.12 *分期付款/ 12)

<p class="form-row woocommerce-validated">
        <label for="piraeusbank_gateway-card-doseis">Επιλογή Δόσεων <span class="required">*</span></label>
                    <select id="piraeusbank_gateway-card-doseis" name="piraeusbank_gateway-card-doseis" class="input-select wc-credit-card-form-card-doseis">
                    <option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select>         
    </p>

1 个答案:

答案 0 :(得分:0)

为了增加费用(一般来说)LoicTheAztec的答案是有效的。 但为了获得分期付款的价值(“piraeusbank_gateway-card-doseis”)

你需要添加代码(通过我的不知道我正在尝试$ _POST ['piraeusbank_gateway-card-doseis']这是错误的) 在主题的function.php中

add_action( 'woocommerce_cart_calculate_fees', 'custom_paypal_additional_fee', 20, 1 );
function custom_paypal_additional_fee( $cart ) {
            if ( isset($_POST['post_data'])) {
                parse_str( $_POST['post_data'], $post_data );
            } else {
                 $post_data = $_POST; // fallback for final checkout (non-ajax)
            }
            if (isset($post_data['piraeusbank_gateway-card-doseis'])) {
...