Intereting Posts
Получить случайные условия Как настроить целевой интерфейс MP6 на WordPress 3.8 с помощью CSS? Установить ограничение времени сеанса для защищенных паролем сообщений Как получить значения выбора, созданные плагином ACF в wordpress этот простой shortcode не генерирует Collapse как предполагаемый Условный запрос пользовательского типа сообщения и пользовательской таксономии Администратор может ввести JavaScript – потенциальный риск для безопасности? «Ответ на адрес» Email Обнаружение ошибок, вызванных $ wpdb-> get_results () Confused on AJAX отправить форму через шаблон страницы Разница в человеческом времени в месяцах вместо дней. Как? Ошибка сброса пароля? – «Извините, этот ключ не является действительным» Сообщение не будет загружаться через ajax Как перенаправить RSS-каналы в Feedburner и сохранить постоянные ссылки? WordPress как веб-приложение с интенсивным использованием данных

Если текущий пользователь является администратором или редактором

Как я могу проверить, является ли текущий зарегистрированный пользователь администратором или редактором?

Я знаю, как делать каждый особый

<?php if( current_user_can('editor')) { ?> stuff here for editors <?php } ?> <?php if( current_user_can('administrator') { ?> stuff here for admins <?php } ?> 

Но как мне работать вместе? То есть. пользователь является администратором или редактором?

Solutions Collecting From Web of "Если текущий пользователь является администратором или редактором"

Первый ответ, а не WordPress, потому что это всего лишь PHP, используйте логический оператор «OR»:

 <?php if( current_user_can('editor') || current_user_can('administrator') ) { ?> // stuff here for admins or editors <?php } ?> 

Если вы хотите проверить более двух ролей, вы можете проверить, находятся ли роли текущего пользователя внутри массива ролей, например:

 $user = wp_get_current_user(); $allowed_roles = array('editor', 'administrator', 'author'); <?php if( array_intersect($allowed_roles, $user->roles ) ) { ?> //stuff here for allowed roles <?php } ?> 

Однако current_user_can может использоваться не только с именем роли пользователя, но и с возможностями. Таким образом, как только редакторы и администраторы могут редактировать страницы, ваша жизнь может быть проще проверять эти возможности:

 <?php if( current_user_can('edit_others_pages') ) { ?> // stuff here for user roles that can edit pages: editors and administrators <?php } ?> 

Посмотрите здесь, чтобы узнать больше о возможностях.

 <?php if( current_user_can('editor')) : echo "welcome"; elseif( current_user_can('member')) : echo "welcome"; else : wp_die("<h2>To view this page you must first <a href='". wp_login_url(get_permalink()) ."' title='Login'>log in</a></h2>"); endif; ?>