Условные теги для уровней членства при использовании плагина для участников Списка желаний?


В настоящее время я использую плагин под названием участник списка желаний. Это позволяет вам создавать уровни членства в 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 } ?>

Но не только для администратора. Я обнаружил, что этот плагин create создает их для каждого уровня участника "wpm_access[1296320588]" и "wpm_level[1296320588]". Любые идеи о том, как я мог бы проверить текущий пользователь против этого?

Спасибо!

Author: Jan Fabry, 2011-01-29

2 answers

Об этом много обсуждается на форуме поддержки участников Wishlism, но разработчики там игнорируют это. В любом случае попробуйте это:

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

Просто.

 3
Author: Bainternet, 2011-01-29 22:15:01

Извините, что не ответил на предыдущий ответ, но я просто не знаю, как это сделать. Спасибо Bainternet за ваш ответ, но в нем, однако, есть огромный недостаток. Проблема в том, что если у вас отменено/прекращено членство в WL-участнике, оно все равно будет отображаться в массиве $levels. Это приводит к огромному недостатку в системе безопасности. Как это исправить?

ОТРЕДАКТИРУЙТЕ ЭТО СООБЩЕНИЕ: Найдено, как это решить (WLMAPI::Уровни GETUSERLEVELS задокументированы здесь http://wishlistproducts.com/api/api1 /) Вам нужно будет установить значение int$отменено до 1, чтобы не получать отмененные подписки в вашем массиве.

ОТРЕДАКТИРУЙТЕ ЭТО СООБЩЕНИЕ ЕЩЕ РАЗ: я приношу извинения, ошибка, с которой я столкнулся, была связана с завершенными подписками, а не с отмененными. Параметр по умолчанию $cancelled равен 0, и это означает, что не возвращайте отмененные подписки, что является общепринятым поведением. Прошлой ночью у меня было слишком много кода, вот почему я начал говорить неправильно. Жаль, что вы не можете настроить функцию так, чтобы она не возвращала завершенные уровни подписки.

 0
Author: Florinache, 2013-04-14 11:21:05