将 Woocommerce 订单状态更改为货到付款

1 php wordpress woocommerce

我需要更改 Woocommerce 应用于通过货到付款的订单的默认订单状态。默认正在处理,我需要将其设置为暂停。我试过这个

    add_action( 'woocommerce_thankyou', 'my_order_status', 50 );
    function my_order_status( $order_id ) {
    if ( ! $order_id ) {
    return;
    }
    $order = wc_get_order( $order_id );
    if ( ( get_post_meta( $order->id, '_payment_method', true ) == 'cod'  ) && ( $order->status == 'processing' ) ) {
    $order->update_status('on-hold');
    }
    }
Run Code Online (Sandbox Code Playgroud)

但它不起作用。有什么想法吗?

小智 5

这解决了我的问题

add_action('woocommerce_thankyou_cod', 'action_woocommerce_thankyou_cod', 10, 1);
function action_woocommerce_thankyou_cod($order_id)
{
 $order = wc_get_order($order_id);
 $order->update_status('on-hold');
}
Run Code Online (Sandbox Code Playgroud)

把它放在你的functions.php中