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

Posted

技术标签:

【中文标题】将客户的提示输入添加到 WooCommerce 结帐页面【英文标题】:Add Tip input by customer to WooCommerce checkout page 【发布时间】:2018-01-03 23:25:35 【问题描述】:

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

后端部分: 我写了一个动作,根据给定的百分比(比如说总订单的 10%)向结帐添加小费

add_action('woocommerce_cart_calculate_fees', 'calculateTipsPercentage', 10, 1); 函数计算提示百分比($cart) if ( is_admin() && ! defined( 'DOING_AJAX' ) ) 返回; $total_tax = 0; $carttotal= 0; // 获取未格式化的 tax 数组 $taxes = $cart->get_taxes(); //从tax数组中获取税额 foreach($taxes 作为 $tax) $total_tax += $tax; 全球$woocommerce; $percentage = 0.10;//小费百分比(必须由客户输入) $carttotalamount = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ); //购物车总数不含税 $totalorderwithTax = ($carttotalamount + $total_tax); //购物车含税总额 $extrafee=round($totalorderwithTax * $percentage, 2); //额外费用金额 $percetagetoShow = ( $percentage * 100 ); $woocommerce->cart->add_fee("提示 ($percetagetoShow%)", $extrafee, true, '' );

我的问题在于前端部分。

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

任何帮助将不胜感激。

【问题讨论】:

您能解释一下tip吗?它只是字符串还是 SURCHAGE (intval) 等? tip 是已包含税金的订单总额的 0.01 到 1(1% 到 100%)的整数 woocommerce custom checkout field to add fee to order ajax的可能重复 【参考方案1】:

Woocommerce 有各种钩子,您可以使用这些钩子将自定义字段添加到结帐页面,例如 *

woocommerce_review_order_before_shipping woocommerce_review_order_after_shipping woocommerce_review_order_before_order_total

或者您可以访问here

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于将客户的提示输入添加到 WooCommerce 结帐页面的主要内容,如果未能解决你的问题,请参考以下文章

如何将 WordPress 用户角色添加到 Woocommerce 新管理员订单电子邮件主题

根据 WooCommerce 中的自定义字段值将文本添加到订单摘要

将基于送货方式的自定义文本添加到某些 WooCommerce 电子邮件通知

插件:Woocommerce > 如何允许作者将产品添加到购物车

将附件添加到 WooCommerce 自定义电子邮件

Woocommerce如何将标题属性添加到迷你购物车上产品名称的锚标记