php WooCommerce代码:如何在订单上设置用户/客户

smtd7mpg  于 2023-08-02  发布在  PHP
关注(0)|答案(2)|浏览(121)

我正在写一个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();

字符串
下面是我在后台运行后看到的:


的数据

为什么订单是以“访客”的身份下的,而不是下订单的用户?
如何连接正确的用户?

unftdfkk

unftdfkk1#

您需要将_customer_user添加到post_Meta表中,订单ID和meta值应该是您想要链接到此订单的用户ID。
我希望这能帮助你:

update_post_meta($order_id, '_customer_user', get_current_user_id());

字符串
现在,我们的答案是6岁- woocommerce最近为此增加了课程。你现在可以这样做:

$order = wc_get_order( $order_id );
$order->set_customer_id(get_current_user_id());

n9vozmp4

n9vozmp42#


wc_create_order();中使用用户/客户ID(在下订单前创建客户/用户)
例如:$order = wc_create_order(array('customer_id' => $user));
这个代码很适合我!

相关问题