如何显示用户订阅的结束日期? 我有 ID 用户,我需要结束订阅的日期
我尝试使用
$WC_Subscription
和 wcs_get_users_subscriptions($user_id)
但此方法会引发错误。
如何使用
$WC_Subscription
?
首先,
wcs_get_users_subscriptions($user_id)
不是一个方法,而是一个函数。 WC_Subscription
是订阅的主要类别。
您的方法的主要问题是
wcs_get_users_subscriptions($user_id)
函数返回用户订阅的数组,而不是订阅对象本身,因为一个用户可以有多个订阅。
要从
WC_Subscription
对象获取结束日期,您将使用 get_date('end')
方法。
基于这个答案,这是为用户获取其订阅的结束日期而不会引发错误的正确方法。
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>';
}
}
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>';
}