使用愿望列表会员插件时,会员级别的条件标签?
-
16-10-2019 - |
题
我目前正在使用名为WishList成员的插件。它允许您在WordPress中创建成员资格级别。我希望能够根据查看用户的成员资格级别在页面上显示不同的内容。这样的东西 -
<?php global $current_user; get_currentuserinfo();
if ($current_user->user_level == 10 ) { ?>
Admin Stuff (In my case I left this blank)
<?php } else { ?>
Stuff Seen By Visitors
<?php } ?>
但不仅是管理员。我发现此插件创建为每个成员级别的“ WPM_ACCESS [1296320588]”和“ WPM_LEVEL [1296320588]”创建。关于我如何检查当前用户的任何想法?
谢谢!
解决方案
Wishlismembers支持论坛中对此有很多讨论,但是那里的开发人员忽略了它。无论如何尝试:
// get the current user level from WP more important is global $user.
$user = wp_get_current_user();
// Get user levels from WishlistMembers
$levels = WLMAPI::GetUserLevels($user->ID);
//then run the check for the level you want like this:
if(in_array('silver', $levels)){
// PRINT OUT THE silver LEVEL stuff here
}
elseif (in_array('gold', $levels)){
// PRINT OUT THE gold LEVEL stuff here
}
简单的。
其他提示
很抱歉没有回复上一个答案,但我只是不知道如何。感谢Bainternet的回答,但是这是一个巨大的缺陷。问题是,如果您在WL成员中有取消 /最终会员资格,它仍然会显示在$ Levelase数组中。这最终是一个巨大的安全缺陷。如何解决这个问题?
对此帖子进行编辑:找到了如何解决此问题(WLMAPI :: GetUserlevels在此处记录 http://wishlistproducts.com/api/api1/ )您需要将取消的INT $设置为1,以免在数组中获取取消的订阅。
再次编辑这篇文章:我说,我遇到的错误与最终订阅有关,而不是取消订阅。 $取消的默认参数为0,这意味着不返回已取消的订阅,这是一般预期的行为。昨晚我有太多的代码,这就是为什么我开始说错话的原因。太糟糕了,您无法设置该功能不返回最终订阅级别。