You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce Subscriptions:未登录支付初始订阅订单失效问题

解决WooCommerce订阅父订单免登录支付问题

原代码仅支持普通订单的免登录支付,未适配订阅父订单场景,可通过以下代码实现需求:

// 允许未登录用户支付普通订单和订阅父订单
add_action( 'template_redirect', 'allow_guest_pay_for_subscription_parent_order' );

function allow_guest_pay_for_subscription_parent_order() {
    if ( is_wc_endpoint_url( 'pay' ) ) {
        $order_id = absint( get_query_var( 'order-pay' ) );
        $order = wc_get_order( $order_id );
        
        if ( $order && ( $order->get_type() === 'shop_order' || wcs_is_parent_order( $order_id ) ) ) {
            add_filter( 'woocommerce_checkout_registration_required', '__return_false' );
            add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
        }
    }
}

代码说明

  • 通过template_redirect钩子在页面加载时触发逻辑,检测当前是否处于订单支付端点页面
  • 用wcs_is_parent_order()判断订单是否为订阅父订单(需确保WooCommerce订阅插件已激活)
  • 对普通订单和订阅父订单均关闭登录要求,同时可选关闭订单备注字段,简化未登录用户支付流程

内容的提问来源于stack exchange,提问作者user10635933

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 21:55:14