WooCommerce 订阅状态​​出现问题

WooCommerce subscription status get issue

我正在使用主题 function.php 中的函数:

我在登录时检查,如果用户没有有效的订阅,那么它应该重定向到一个页面。我有两个用户,一个有有效订阅,另一个已经过期。但是当我为两个用户使用此代码时,都处于 else 状态,这意味着没有订阅。

这不是产品订阅,而是用户计划的订阅。

$active_subscriptions = get_posts(array(
    'numberposts' => -1,
    'meta_key'    => '_customer_user',
    'meta_value'  => $user_id,
    'post_type'   => 'shop_subscription', // Subscription post type
    'post_status' => 'wc-active', // Active subscription
));

if (!empty($active_subscriptions)) {
    echo "1";
    die;
    return true;
} else {
    echo "2";
    die;
}

您可以尝试使用wcs_get_subscriptions函数。

$subscriptions = wcs_get_subscriptions(
    array(
        'customer_id' => $user_id,
        'subscription_status' => 'wc-active',
        'subscriptions_per_page' => - 1
    )
);