我正在编写WooCommerce上的WordPress插件。这个插件基本上允许WooCommerce分配store credits 无论何时登录的客户下了标记为Completed
付款后。然后,这些门店积分可用于抵消客户未来订单的成本。例如,如果我购买价值10美元的商品,我可能会得到1美元的商店积分。我可以使用任何金额的店铺积分来抵消未来的购买,例如,我可以选择使用0.50美元的积分来抵消下一个订单的0.50美元。
我在WP Admin中找到用于分配客户商店积分的挂钩没有问题,但我在前端添加挂钩以允许客户在订单中使用他们的商店积分时遇到了问题。
目前,我将以下函数连接到woocommerce_checkout_order_processed
操作,记录客户打算在订单上使用的门店信用额:
function woocommerce_checkout_order_processed($order_id) {
$offset_amt = floatval($_POST[\'use-store-credit\']);
// This line is a glorified update_post_meta call.
Helpers\\Order::set_offset_cost_amount($order_id,$offset_amt);
}
但我认为将其保存为元键与WP_Order
或WP_Cart
这是一个坏主意,因为一旦提交了订单,我就必须挂接订单呈现的每个页面(包括WP Admin中的页面),并手动修改订单总数,因为WP_Order
将记录无店铺信用抵销的总额。我认为把这家商店的信用抵消作为折扣或负费用挂钩会更好,但是I don\'t know which hooks to use or where in the process I should do that. 我应该在结账前将其挂在购物车上,还是在结账后将其挂在订单上?