【发布时间】:2015-06-26 23:43:55
【问题描述】:
我如何检测用户是否已经购买了会员新闻产品。
我正在搜索这样的内容:
if(have_subscription){
//code to add button
}else{
// code to add something else
}
【问题讨论】:
标签: php wordpress membership
我如何检测用户是否已经购买了会员新闻产品。
我正在搜索这样的内容:
if(have_subscription){
//code to add button
}else{
// code to add something else
}
【问题讨论】:
标签: php wordpress membership
打开您的 WordPress 网站并:
Plugins > Add New
Upload Plugin > Choose file
MemberPress 插件Install Plugin > Activate
您现在会发现 MemberPress 已添加到您的 WordPress 仪表板中。
这应该会有所帮助。
【讨论】:
2015 年的答案对我不起作用,但却是热门搜索结果。我想我以后应该在这里与其他人分享我的搜索结果。
另外,我认为“product_authorized”功能仅检查是否进行了购买,而不是验证到期日期。
MemberPress 是如何确定活动、非活动或无活动的:
$mepr_user = new MeprUser( $user_id );
if( $mepr_user->is_active() ) {
// Active
}else if($mepr_user->has_expired()) {
// Expired
}else {
// Never a member
}
has_expired() 可以返回 true,即使用户在单独的事务中处于活动状态,所以不要单独依赖它。
如果您需要检查特定成员身份,您可以使用以下方法:
$user_id = 123;
$membership_id = 5000;
$mepr_user = new MeprUser( $user_id );
$mepr_user->is_already_subscribed_to( $membership_id ); // true or false
// OR
$mepr_user->is_active_on_membership( $membership_id ); // true or false
is_already_subscribed_to() 仅接受产品 ID
is_active_on_membership() 接受以下任何一项:产品 ID、MeprProduct、MeprTransaction 或 MeprSubscription
您还可以通过以下方式获取用户的所有有效订阅:
$mepr_user->active_product_subscriptions( 'ids' ); // return array of ids
【讨论】:
使用 MemberPress 的内置功能应该很简单:
if(current_user_can('memberpress_authorized')) {
// Do authorized only stuff here
}
else {
// Do unauthorized stuff here
}
MemberPress 还为每个 MemberPress 会员添加了功能,因此您也可以执行以下操作:
if(current_user_can('memberpress_product_authorized_123')) {
// Do authorized only stuff here
}
else {
// Do unauthorized stuff here
}
在第二个示例中,数字 123 是 MemberPress 成员的 ID。
【讨论】: