0

我只需要向订阅有效的用户展示一些东西,我使用的是 edd 定期付款插件,我发现这是他们的文档

$subscriber->has_active_subscription()

但我不知道如何利用它只向有活跃订阅的用户展示一些东西。

所以我将在我的archive.php 文件中添加这段代码,并为活跃用户显示额外的php 代码。

4

1 回答 1

1

您找到的代码是 Easy Digital Downloads 使用的 OOP 类的一部分。他们的文档在这里:https ://docs.easydigitaldownloads.com/article/1160-recurring-payments-developer-eddrecurringsubscriber

您需要做的是:

$my_user = get_current_user_id(); //grab current user

$subscriber = new EDD_Recurring_Subscriber( $my_user, true ); //pass user id to EDD class

//The EDD class will return its own user object, and on that you can do your check from the question:
if ($subscriber->has_active_subscription()) {
echo 'some special message for users with subscriptions';
} else {
//do something else
}

不过要小心,因为如果用户有一个有效的订阅和他/她有一个取消的订阅,该方法将返回 true(但如果订阅已过期,则返回 false)。这可能是也可能不是你想要的。

我没有 EDD,所以没有测试过,但我希望它至少能让你开始。

于 2021-05-24T14:44:14.457 回答