【问题标题】:How to get Order Details from a WC_Subscription instance Object如何从 WC_Subscription 实例对象获取订单详细信息
【发布时间】:2020-11-12 12:59:53
【问题描述】:

这用于完成初始订阅付款和订阅续订。

function payment_made($subscription){
    // How do I get the order details?
}
add_action("woocommerce_subscription_payment_complete", "payment_made");

这个用于状态更改时,因此我可以处理手动和系统更改,无论是手动覆盖还是失败/待定/活动/基于付款或开关的任何状态。

function status_update($subscription, $old_status, $new_status){
    // How do I get the order details?
}
add_action("woocommerce_subscription_status_updated", "status_updated");

【问题讨论】:

    标签: php wordpress woocommerce orders woocommerce-subscriptions


    【解决方案1】:

    要从WC_Subscription 对象中获取订单详细信息,您首先需要使用get_parent_id() 方法获取父ID(即订单ID):

    $order_id = $subscription->get_parent_id();
    

    然后您将使用以下命令从订单 ID 中获取 WC_Order 对象:

    $order = wc_get_order( $order_id );
    

    然后获取订单详情:How to get WooCommerce order details

    相关:

    【讨论】:

    • 你太棒了!谢谢。
    【解决方案2】:

    一些细节可以通过以下方法直接从WC_订阅对象中获取

     $subscription->get_id() //subscription id
     $subscription->get_parent_id() //order id
     $subscription->get_currency()
     $subscription->get_customer_note()
     $subscription->get_prices_include_tax()
     $subscription->get_payment_method()
     $subscription->get_payment_method_title()
     $subscription->get_billing_first_name()
     $subscription->get_billing_last_name()
     $subscription->get_billing_company()
     $subscription->get_billing_address_1()
     $subscription->get_billing_address_2()
     $subscription->get_billing_city()
     $subscription->get_billing_state()
     $subscription->get_billing_postcode()
     $subscription->get_billing_country()
     $subscription->get_billing_email()
     $subscription->get_billing_phone()
     $subscription->get_shipping_first_name()
     $subscription->get_shipping_last_name()
     $subscription->get_shipping_company()
     $subscription->get_shipping_address_1()
     $subscription->get_shipping_address_2()
     $subscription->get_shipping_city()
     $subscription->get_shipping_state()
     $subscription->get_shipping_postcode()
     $subscription->get_shipping_country()
     $subscription->get_order_key()
     $subscription->get_date_created()
     $subscription->get_date_modified()
    

    【讨论】:

      猜你喜欢
      • 2017-01-17
      • 2020-11-12
      • 2020-11-12
      • 1970-01-01
      • 2014-07-10
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多