我正在构建一个小插件(WordPress/WooCommerce),它将订单数据从下单发送到外部系统。
这个过程的顺序很简单。当触发此操作时:
add_action('woocommerce_thankyou', array($this, 'xc_woocommerce_thankyou'));
我使用wp_remote_post将订单数据发送到我的外部系统。
问题是,我不得不大量运行这些测试,因为我要从WooCommerce中的各种元数据源(从其他插件)中提取数据,因此我需要重复测试。这需要很多时间,因为在下订单之前,我必须一次又一次地设置购物车。
我的问题是:有没有办法“颠倒”“放置顺序”,让购物车恢复原状,这样我就可以重复运行它进行测试?
发布于 2019-07-18 18:38:45
woocommerce_thankyou 每次加载感谢页面时,钩子都会运行。因此,处理您的订单,一旦您登录到感谢页面,只需不断刷新页面,您的方法每次都将使用相同的订单号和购物车信息运行。
因此,我建议您使用
woocommerce_order_status_processing完成测试或类似的测试后再挂接,因为它只运行一次。此方法还允许您在存在问题时通过将订单状态更改为挂起然后返回处理来重新发送订单。
https://stackoverflow.com/questions/57084188
复制相似问题