我正在尝试更新自定义字段更改的运费总成本。我的jQuery代码工作正常,但我的函数wocommerce钩子没有调用。
我正在使用这个jQuery代码:
<script>
jQuery( document ).ready(function( $ ) {
jQuery('#myfield2').change(function(){
var data = {
action: 'wp_ajax_woocommerce_cart_calculate_fees',
state: '200',
vals: jQuery(this).val()
};
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'
});
});
});
</script>
PHP代码:
add_action( 'wp_ajax_woocommerce_cart_calculate_fees','endo_handling_fee' );
function endo_handling_fee() {
global $woocommerce;
$post_data="--";
if ( isset( $_POST) ) {
parse_str( $_POST['vals'], $post_data );
}
print_r($post_data);
/* if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;*/
//$vals=$_POST['vals'];
$fee = 10.00;
if($vals=='Yes')
{
$fee = 50.00;
}
$woocommerce->cart->add_fee( 'Handling', $fee, true, 'standard' );
}
感谢任何帮助。
答案 0 :(得分:0)
在以下行后添加一行 -
add_action( 'wp_ajax_woocommerce_cart_calculate_fees','endo_handling_fee' );
要添加的行 -
add_action( 'wp_ajax_nopriv_woocommerce_cart_calculate_fees','endo_handling_fee' );