【问题标题】:WooCommerce subscription status get issueWooCommerce 订阅状态​​获取问题
【发布时间】:2018-04-12 07:07:27
【问题描述】:

我在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;
}

【问题讨论】:

  • 这里没有专家吗?
  • 为什么要使用“die”?
  • @HussainMahfoodh 我只是在检查它的到来......你有什么合适的解决方案吗?

标签: php woocommerce subscription woocommerce-subscriptions


【解决方案1】:

您可以尝试使用wcs_get_subscriptions 函数。

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

【讨论】:

  • 这里显示的是shop_subscription,我需要为在创建帐户时完成的用户订阅,实际上当用户注册网站时,他必须选择一个包并且必须付费......所以我们必须在注册时检查该用户的订阅.. 所以你能帮我解决这个问题吗
  • 我想看会员计划订阅.. 所以请帮我解决这个@Van
  • 首先,您需要以某种方式跟踪用户创建帐户的订阅。如果他们以后能够注册其他内容,或者他们取消第一个订阅并添加另一个订阅,您将需要能够获得第一个订阅。如果您需要跟踪第一个用户订阅,您可能可以将订阅 ID 保存到用户元。上面的函数将为您提供所传递用户的所有活动订阅,因此它应该为您提供此注册订阅。
猜你喜欢
  • 2018-04-04
  • 2015-11-30
  • 1970-01-01
  • 2020-02-17
  • 2022-10-05
  • 2016-01-24
  • 1970-01-01
  • 2017-12-03
  • 2019-07-29
相关资源
最近更新 更多