获取并检查 WooCommerce 用户订阅结束日期

问题描述 投票:0回答:1

如何显示用户订阅的结束日期? 我有 ID 用户,我需要结束订阅的日期

我尝试使用

$WC_Subscription
wcs_get_users_subscriptions($user_id)
但此方法会引发错误。

如何使用

$WC_Subscription

php wordpress woocommerce methods woocommerce-subscriptions
1个回答
0
投票

首先,

wcs_get_users_subscriptions($user_id)
不是一个方法,而是一个函数。
WC_Subscription
是订阅的主要类别。

您的方法的主要问题是

wcs_get_users_subscriptions($user_id)
函数返回用户订阅的数组,而不是订阅对象本身,因为一个用户可以有多个订阅。

要从

WC_Subscription
对象获取结束日期,您将使用
get_date('end')
方法

基于这个答案,这是为用户获取其订阅的结束日期而不会引发错误的正确方法。

  1. 您可以使用
    foreach
    循环来迭代用户订阅:
$user_id = get_current_user_id();

// Loop through user subscriptions
foreach ( wcs_get_users_subscriptions($user_id) as $subscription ) {
    $end_date = $subscription->get_date('end');

    if (  ! empty($end_date) ) {
        echo '<p>End date: ' . $end_date . '</p>';
    }
}
  1. 您可以使用
    current()
    reset()
    函数来获取订阅对象,仅适用于一个订阅:
$user_id = get_current_user_id();

// Get the subscription object (for a unique subscription)
$subscription = current( wcs_get_users_subscriptions($user_id) );

$end_date = $subscription->get_date('end');

if (  ! empty($end_date) ) {
    echo '<p>End date: ' . $end_date . '</p>';
}
© www.soinside.com 2019 - 2024. All rights reserved.