Условные теги для уровней членства при использовании плагина для участников Списка желаний?
В настоящее время я использую плагин под названием участник списка желаний. Это позволяет вам создавать уровни членства в 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]". Любые идеи о том, как я мог бы проверить текущий пользователь против этого?
Спасибо!
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
}
Просто.
Извините, что не ответил на предыдущий ответ, но я просто не знаю, как это сделать. Спасибо Bainternet за ваш ответ, но в нем, однако, есть огромный недостаток. Проблема в том, что если у вас отменено/прекращено членство в WL-участнике, оно все равно будет отображаться в массиве $levels. Это приводит к огромному недостатку в системе безопасности. Как это исправить?
ОТРЕДАКТИРУЙТЕ ЭТО СООБЩЕНИЕ: Найдено, как это решить (WLMAPI::Уровни GETUSERLEVELS задокументированы здесь http://wishlistproducts.com/api/api1 /) Вам нужно будет установить значение int$отменено до 1, чтобы не получать отмененные подписки в вашем массиве.
ОТРЕДАКТИРУЙТЕ ЭТО СООБЩЕНИЕ ЕЩЕ РАЗ: я приношу извинения, ошибка, с которой я столкнулся, была связана с завершенными подписками, а не с отмененными. Параметр по умолчанию $cancelled равен 0, и это означает, что не возвращайте отмененные подписки, что является общепринятым поведением. Прошлой ночью у меня было слишком много кода, вот почему я начал говорить неправильно. Жаль, что вы не можете настроить функцию так, чтобы она не возвращала завершенные уровни подписки.