如何检测用户是否已购买会员印制品。
我正在搜索这样的内容:
if(have_subscription){
//code to add button
}else{
// code to add something else
}
提前致谢!
答案 0 :(得分:5)
使用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。
答案 1 :(得分:2)
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
答案 2 :(得分:0)
打开您的 WordPress 网站并:
Plugins > Add New
Upload Plugin > Choose file
MemberPress
插件Install Plugin > Activate
您现在会发现 MemberPress
已添加到您的 WordPress 信息中心。
这应该会有所帮助。