【发布时间】:2021-04-16 11:01:11
【问题描述】:
我基本上需要能够为购物车中的每件商品创建多个订单,但保留默认的结帐流程。
对于用户来说,看起来他们正在检查多个项目,但在后端,它会创建多个订单。 I found an article 这几乎与我需要做的事情有关。
我假设我需要删除单击立即付款按钮时触发的操作,以防止自动创建订单并手动创建订单。我可以使用以下过滤器访问购物车信息,也许这将是一个起点?
add_filter( 'woocommerce_checkout_create_order', 'wp_handle_multiple_orders', 10, 1 );
function wp_handle_multiple_orders( $order ) {
global $woocommerce;
print_r(count(WC()->cart->get_cart()));
// Handle creation of multiple orders
}
或者我可能会进入 checkout_process:
add_action( 'woocommerce_checkout_process', 'wp_handle_multiple_orders' ) );
我知道这个过程并不理想,需要考虑许多不同的事情,但希望有另一种方法可以实现这一目标。任何链接将不胜感激!
【问题讨论】:
-
将一个订单分成多个订单本身不是问题,只是。如果您想在已收到订单(谢谢)页面上将原始订单显示为 1 个订单,那么通常该订单在该操作发生之前已经被拆分为多个订单。如果您要在收到订单页面后拆分订单,则订单已经完全创建,并且原始订单(包含所有产品)的电子邮件已经发送。总之,我认为您应该寻找一个插件可以做到这一点,因为它不会与几行代码一起工作。除非我忽略了什么
-
@7uc1f3r 是的,如果订单在感谢页面上显示为一个订单并不重要,因为我们有一个自定义的感谢页面。它纯粹用于后端,因此可以单独管理订单。谢谢,希望我能找到一个现成的插件,可能涵盖了这一点。
标签: php wordpress woocommerce cart orders