Woocommerce,当用户在结帐时选择一个选项时添加费用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
答案
为了增加费用(一般)LoicTheAztec的答案是有效的。但为了获得分期付款的价值(“piraeusbank_gateway-card-doseis”)
你需要在主题的function.php中添加代码(通过我的unknowledge,我在尝试$ _POST ['piraeusbank_gateway-card-doseis']这是错误的)
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'])) {
...
以上是关于Woocommerce,当用户在结帐时选择一个选项时添加费用的主要内容,如果未能解决你的问题,请参考以下文章
Woocommerce 通过 ajax 在结帐时更新运输方式