我试图在结账时向订单总额支付定制费用.我在woocommerce中添加了一个复选框
add_action( 'woocommerce_after_checkout_billing_form', 'add_box_option_to_checkout' );
function add_box_option_to_checkout( $checkout ) {
echo '<div id="message_fields">';
woocommerce_form_field( 'add_gift_box', array(
'type' => 'checkbox',
'class' => array('add_gift_box form-row-wide'),
'label' => __('Ilo?? pude?ek ozdobnych - 25 PLN/szt'),
'placeholder' => __(''),
), $checkout->get_value( 'add_gift_box' ));
}
Run Code Online (Sandbox Code Playgroud)
包含一个可以处理事件的自定义js文件
jQuery( document ).ready(function( $ ) {
$('#add_gift_box').click(function(){
var data = {
action: 'woocommerce_add_gift_box',
state: '200',
};
jQuery.ajax({
type: 'POST',
url: wc_checkout_params.ajax_url,
data: data,
success: function (code) {
console.log(code);
jQuery('body').trigger('update_checkout');
},
dataType: 'html'
});
});
});
Run Code Online (Sandbox Code Playgroud)
和PHP费用处理功能
function woo_add_cart_fee( $data ){ …Run Code Online (Sandbox Code Playgroud) 需要根据表单复选框元素将自定义费用添加到购物车。目前基于购物车中产品类别的操作效果很好,并增加了定制送货费,但客户可以选择免费取货订单。选中交付复选框是否可以触发 WooCommerce 添加自定义费用操作?
使用“对 html 表单上的复选框选中或未选中事件执行操作”中的示例可以 .change(function) function Delivery(id){ if(this.checked) { add_action 自定义购物车费用?
add_action( 'woocommerce_cart_calculate_fees', 'add_a_custom_fee', 10, 1 );
function add_a_custom_fee( $cart ) {
$amount = 25;
$cart->add_fee( __('Custom fee'), $amount );
}
Run Code Online (Sandbox Code Playgroud)
选中复选框后,预期的自定义购物车费用将显示在购物车中。
在 Woocommerce 结帐页面中,我试图在结帐页面上添加一个复选框并将其称为“分期付款”。
勾选复选框以添加3% 的总金额。
例如,如果总金额为100$,它将在总金额之前添加一个额外的部分,并将其称为分期付款( 3%= $3)并将该金额添加到总金额中。