将客户提示输入添加到WooCommerce结帐页面

时间:2017-07-28 03:08:17

标签: php jquery ajax wordpress woocommerce

我正在开发一个订购WooCommerce商店的食品。我正在尝试添加输入字段或分组按钮,以便让客户添加交付提示以结帐总额。

后端部分: 我写了一个动作,根据给定的百分比添加结账提示(让我们说总订单的10%)

add_action( 'woocommerce_cart_calculate_fees', 'calculateTipsPercentage', 10, 1 );
function calculateTipsPercentage( $cart ) {

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    $total_tax = 0;
    $carttotal= 0;
    // Get the unformated taxes array
    $taxes = $cart->get_taxes(); 

    //get Tax amount from taxes array
    foreach($taxes as $tax) $total_tax += $tax;



   global $woocommerce;


   $percentage = 0.10;//percentage of tips (must be entered by customer)
   $carttotalamount = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total );  //Cart total without tax
   $totalorderwithTax = ( $carttotalamount +  $total_tax); //cart total with tax 
   $extrafee= round( $totalorderwithTax  * $percentage, 2 ); //extra fee amount 

   $percetagetoShow = ( $percentage * 100 );  

    $woocommerce->cart->add_fee( "Tip ({$percetagetoShow}%)", $extrafee, true, '' );




}

我的问题在于前端部分。

如何使用按钮添加任何类型的输入字段(添加结帐提示),让客户添加百分比并单击此按钮,这将触发上面找到的操作。或者如果我可以通过ajax / jquery在没有按钮(没有刷新页面)的情况下做到这一点会更好。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

Woocommerce具有各种钩子,可用于将自定义字段添加到结帐页面,例如*

woocommerce_review_order_before_shipping woocommerce_review_order_after_shipping woocommerce_review_order_before_order_total

或者您可以访问here

答案 1 :(得分:0)

让我向您推荐一个插件,它为我提供了完美且最简单的解决方案。 https://wordpress.org/plugins/order-tip-woo/