【问题标题】:Calling 3rd party api on creating new order in woocommerce调用 3rd 方 api 在 woocommerce 中创建新订单
【发布时间】:2020-04-13 12:31:32
【问题描述】:

我有一个在 WordPress 上运行的电子商务网站,我添加了功能,每当用户结帐时,我的快递员的 API 就会被命中,并且跟踪代码会保存在数据库中。 现在我想从后端创建一个自定义订单(在 Woocommerce 中添加新订单)并做同样的事情,比如调用 API 并将 API 调用返回的跟踪保存到数据库,但不知道使用哪个钩子.

【问题讨论】:

  • 不想使用 webhook,因为我对使用 webhooks 了解不多...我在函数中使用了 woocommerce_thankyou,所以我想在创建新订单时使用类似的东西管理区

标签: wordpress api woocommerce hook


【解决方案1】:

你应该使用“woocommerce_new_order”钩子:

add_action( 'woocommerce_new_order', 'api_call',  1, 1  );
function api_call( $order_id ) {
    $order = new WC_Order( $order_id );
    $items = $order->get_items();
    // etc...
}

fires after new order created

【讨论】:

  • 这仅适用于后端吗?或者它也会在前端结帐后触发?
  • 创建新订单后,前端和后端都可以使用。 $order->get_created_via 可能有助于确定它的后端还是前端。转储 $order 并检查我没有自己测试过。
猜你喜欢
  • 1970-01-01
  • 2016-08-12
  • 1970-01-01
  • 2015-02-18
  • 2016-03-12
  • 1970-01-01
  • 2014-12-27
  • 1970-01-01
  • 2018-08-06
相关资源
最近更新 更多