1

我正在使用 Woocommerce 和 Woosensei 开发一个插件我似乎无法以编程方式创建订单、标记订单已完成并为该特定人员激活 woosensei 课程。

// create a new checkout instance and order id
$checkout = new WC_Checkout();
$this_order_id = $checkout->create_order();

// add some data to the order here //
[ ......... ]
// execute order
$order = new WC_Order($this_order_id);
$order->update_status('completed');
$learning = new WooThemes_Sensei();
$learning->sensei_woocommerce_complete_order($this_order_id);
$cart = new WC_Cart();                              
$cart->empty_cart();

该订单确实被标记为完成,但用户无权访问该课程。如果我手动将订单更改回处理中,然后完成(在 WP 管理员中),那么课程将分配给用户。这真的很烦人,希望有人有一些线索(Woo 的文档记录很差......)提前谢谢!

4

1 回答 1

0

嗯,好像 sensei_woocommerce_complete_order 函数检查用户是否登录。因此,我复制了该功能并删除了“登录”检查,并在用户未登录时调用了该特定功能。结束白发... ;-)

于 2014-01-20T12:14:45.950 回答