gpt4 book ai didi

php - 在 Woocommerce 中结帐后更改订单总额

转载 作者:行者123 更新时间:2023-12-04 22:17:34 24 4
gpt4 key购买 nike

在用户单击结帐后,我似乎找不到使用哪个 Hook 来更改总数(或购物车的任何变量)。例如,用户提交结帐表格,然后我需要做一些检查并相应地更改总数。

我应该怎么做,我用哪个钩子(Hook)?

最佳答案

这可以在 woocommerce_checkout_create_order 中完成 Action 钩子(Hook),你必须使用 CRUD getter 和 setter 方法 对于 WC_Abstract_Order WC_Order 上课...

由于购物车对象和购物车 session 尚未销毁,您仍然可以使用 WC()->cart对象和 WC_Cart 方法,获取数据……

这个钩子(Hook)在订单数据以$order->save(); 保存到数据库之前触发。 .你可以看到in the source code HERE .

下面是一个假的工作示例:

add_action( 'woocommerce_checkout_create_order', 'change_total_on_checking', 20, 1 );
function change_total_on_checking( $order ) {
// Get order total
$total = $order->get_total();

## -- Make your checking and calculations -- ##
$new_total = $total * 1.12; // <== Fake calculation

// Set the new calculated total
$order->set_total( $new_total );
}

代码进入事件子主题(或主题)的 function.php 文件中。

测试和工作。

这里有一些解释: Add extra meta for orders in Woocommerce

关于php - 在 Woocommerce 中结帐后更改订单总额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49036503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com