【问题标题】:Woocommerce Subscriptions on-hold in COD [duplicate]货到付款中的 Woocommerce 订阅暂停 [重复]
【发布时间】:2019-04-25 18:56:12
【问题描述】:

我在我的商店使用货到付款来收集用户的订阅 但是我有一个非常严重的问题,订阅在没有完成订单的情况下就生效了 我用这段代码来阻止它,但它不起作用

add_action( 'updated_users_subscriptions_for_order', 'wc_subs_suspend_on_cod' );
function wc_subs_suspend_on_cod( $order ) {

    if ( ! is_object( $order ) ) {
        $order = new WC_Order( $order );
    }

    foreach ( WC_Subscriptions_Order::get_recurring_items( $order ) as $order_item ) {

        $subscription_key = WC_Subscriptions_Manager::get_subscription_key( $order->id, WC_Subscriptions_Order::get_items_product_id( $order_item ) );
        $payment_gateways = WC()->payment_gateways->payment_gateways();
        $payment_gateway  = isset( $payment_gateways[ $order->recurring_payment_method ] ) ? $payment_gateways[ $order->recurring_payment_method ] : '';

        if ( $payment_gateway->id == 'cod' && $order->get_status() != 'completed' ) {
            WC_Subscriptions_Manager::put_subscription_on_hold( $order->user_id, $subscription_key );
        }
    }
}

【问题讨论】:

    标签: woocommerce woocommerce-subscriptions


    【解决方案1】:

    我找到了 这是 COD 订单雕像 修复它,将订单更改为“待定”

    function sv_wc_cod_order_status( $status ) {
        return 'pending';
    }
    add_filter( 'woocommerce_cod_process_payment_order_status', 'sv_wc_cod_order_status', 15 ); 
    

    【讨论】:

      猜你喜欢
      • 2022-08-12
      • 2017-05-31
      • 2023-04-01
      • 2021-08-19
      • 2020-11-16
      • 1970-01-01
      • 2020-11-03
      • 2015-10-18
      • 2016-05-07
      相关资源
      最近更新 更多