如何从 WC_Subscription 实例对象中获取用户 ID

How to get the user ID from a WC_Subscription instance Object

我有两个功能需要帮助,希望可以处理我的订阅任务。代码注释 (// ...) 是我想要弄清楚的。如果您有其他反馈,我也愿意接受。

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

function payment_made($subscription){
    // How do I get the User ID from subscription? (Definitely need this)
}
add_action("woocommerce_subscription_payment_complete", "payment_made");

这一个用于状态更改时,因此我可以处理手动和系统更改,无论是手动覆盖还是 failed/pending/active/whatever 基于付款或切换的状态。

function status_update($subscription, $old_status, $new_status){
    // How do I get the User ID from subscription (Definitely need this)
}
add_action("woocommerce_subscription_status_updated", "status_updated");

要从 WC_Subscription 对象获取用户 ID,您将使用 get_user_id() 方法,就像您可以使用 WC_Order 对象一样:

$user_id = $subscription->get_user_id();

已测试并有效。

相关: