微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从“已下订单”到“处理中”2 天后自动更新 WooCommerce 订单状态

如何解决从“已下订单”到“处理中”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 举报,一经查实,本站将立刻删除。