如何解决从“已下订单”到“处理中”2 天后自动更新 WooCommerce 订单状态
有什么办法可以让所有“Order Placed”的订单状态在2天后自动更新为“Processing”。目前,这可以通过 Woocommerce
例如 - 如果用户下订单,它应该会在 2 天后自动将状态更改为处理中。 我试过这个插件名称 WunderAutomation,但无法得到结果。 插件链接 - https://wordpress.org/plugins/wunderautomation/
是否有 WooCommerce 专家可以共享代码以自动更改订单状态?
感谢您的帮助
解决方法
创建一个为期两天的 WordPress Cron。
add_filter( 'cron_schedules','example_add_cron_interval' );
function example_add_cron_interval( $schedules ) {
$schedules['two_days'] = array(
'interval' => 172800,'display' => esc_html__( 'Every Two Days' ),);
return $schedules;
}
为您的函数创建一个钩子。
add_action( 'bl_cron_hook','bl_cron_exec' );
使用我们上面设置的 WP Cron 安排钩子。
if ( ! wp_next_scheduled( 'bl_cron_hook' ) ) {
wp_schedule_event( time(),'two_days','bl_cron_hook' );
}
创建在钩子中调用的函数。
function bl_cron_exec() {
// Get list of WC orders.
// Loop over each order.
// Check if order is over two days old
// If older then two days then set status of order.
}
取自 WordPress Cron Handbook 的 WordPress Cron 示例。您可能需要查看 WC_Order 文档以了解如何更新订单状态。
这完全没有经过测试,需要根据具体需求进行调整。我不经常使用 WordPress Cron,所以我可能会遗漏一两件事。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。