wordpress 如何在购物车中添加自定义字段的选择框的变化运费

omtl5h9j  于 2023-01-12  发布在  WordPress
关注(0)|答案(1)|浏览(85)

我正在尝试更新自定义字段的变化航运总成本。我的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' );
}

任何帮助都很感激。

bxjv4tth

bxjv4tth1#

在以下行之后再添加一行-

add_action( 'wp_ajax_woocommerce_cart_calculate_fees','endo_handling_fee' );

待加入的行-

add_action( 'wp_ajax_nopriv_woocommerce_cart_calculate_fees','endo_handling_fee' );

相关问题