我正在开发一个订购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在没有按钮(没有刷新页面)的情况下做到这一点会更好。
任何帮助将不胜感激。
答案 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/