Conditional Tags for Membership Levels when using Wishlist Member Plugin?

I am currently using a plug-in called Wishlist member. It allows you to create membership levels in WordPress. I want to be able to display different content on a page depending on the membership level of the viewing user. Something like this –

<?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 } ?>

But not just for the admin. I have found that this plug-in create creates these for each member level “wpm_access[1296320588]” and “wpm_level[1296320588]”. Any ideas on how I could check the current user against this?

Read More

Thanks!

Related posts

Leave a Reply

2 comments

  1. there is a lot of discussion about this in wishlisMembers support forum
    but the developers over there ignore it.
    Any way try this:

    // 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
    }
    

    Simple.

  2. Sorry for not replying to the previous answer, but I just do not know how.
    Thanks Bainternet for your answer, but it has, however, a huge flaw. Problem is if you have a Cancelled / Ended membership in WL Member, it will still show up in the $levels array. This ends up in being a huge security flaw. How to fix this?

    EDIT TO THIS POST: Found how to solve this (WLMAPI::GETUserLevels documented over here http://wishlistproducts.com/api/api1/ )
    You will need to set the int $cancelled to 1 not to get the cancelled subscriptions in your array.

    EDIT TO THIS POST AGAIN: I appologise, the error I was having was related to ended subscriptions, not cancelled ones. The default parameter of $canceled is 0 and that means do not return cancelled subscriptions which is the general intended behavious. Last night I had too much code that’s why i started to speak wrong.
    Too bad you cannot set the function not to return ended subscription levels.