我正在开发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记录很少......) Thx提前!
答案 0 :(得分:0)
嗯,似乎sensei_woocommerce_complete_order函数检查用户是否登录。 所以我复制了该函数并删除了“登录”检查,并在用户未登录时调用该特定函数。 结束白发......; - )