我目前正在使用名为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,这意味着不返回已取消的订阅,这是一般预期的行为。昨晚我有太多的代码,这就是为什么我开始说错话的原因。太糟糕了,您无法设置该功能不返回最终订阅级别。

许可以下: CC-BY-SA归因
scroll top