我正在写一个WooCommerce插件,照顾支付和交付.
现在,我正在根据当前的购物车创建订单。
所有的工作都很好得到的项目和成本正确,唯一问题是,订单显示为由“客人”,而不是由当前登录的用户(即使该用户的正确电子邮件地址是在订单上).
下面是我的代码:
$cart = WC()->cart;
$checkout = WC()->checkout();
$order_id = $checkout->create_order();
$order = wc_get_order( $order_id );
$order->user_id = apply_filters( 'woocommerce_checkout_customer_id', get_current_user_id() );
$order->calculate_totals();
$order->payment_complete();
$cart->empty_cart();
字符串
下面是我在后台运行后看到的:
的数据
为什么订单是以“访客”的身份下的,而不是下订单的用户?
如何连接正确的用户?
2条答案
按热度按时间unftdfkk1#
您需要将
_customer_user
添加到post_Meta表中,订单ID和meta值应该是您想要链接到此订单的用户ID。我希望这能帮助你:
字符串
现在,我们的答案是6岁- woocommerce最近为此增加了课程。你现在可以这样做:
型
n9vozmp42#
或
在
wc_create_order();
中使用用户/客户ID(在下订单前创建客户/用户)例如:
$order = wc_create_order(array('customer_id' => $user));
这个代码很适合我!