Обратная связь

Как проверить, залогинен ли пользователь, и является ли он администратором на сайте | Русские WordPress темы и шаблоны 16 августа 2012 г., 4: 00 Сегодня я расскажу вам, как узнать, является ли посетитель гостем, либо он зарегистрирован и авторизован на сайте.

Как проверить, залогинен ли пользователь, и является ли он администратором на сайте | Русские WordPress темы и шаблоны 16 августа 2012 г., 4: 00 Сегодня я расскажу вам, как узнать, является ли посетитель гостем, либо он зарегистрирован и авторизован на сайте.
В версии WordPress 2. 0 разработчики перешли от простой системы уровней пользователей, к модели разграничений прав доступа и ролей пользователей. В этой новой модели, возможности предоставляются ролями и пользователи являются членами роли. Кроме того, возможности, отличные от возможностей роли, могут быть предоставлены пользователю непосредственно администратором, с помощью специального плагина. Эта модель является расширяемой, гибкой и настраиваемой.
Проверка, залогинен ли пользователь на сайте
Для того что-бы проверить, залогинен ли пользователь на сайте, необходимо использовать стандартную WordPress функцию is_user_logged_in(), которая возвращает true, если пользователь авторизован на сайте.
Пример:
if (is_user_logged_in()){ // что-то сделать echo ‘Вы сейчас авторизованы на сайте! ‘; } else { echo ‘Вы не вошли на сайт! ‘; }
Является ли авторизованный пользователь администратором
Теперь нам необходимо узнать является ли пользователь администратором. Для этого есть несколько путей:
— вызов функции current_user_can() передав в качестве параметра ‘administrator’ (этот варинат используется в документации по WordPress —
current_user_can(‘administrator’)
— вызов функции current_user_can() передав в качестве параметра ‘manage_options’ (параметр ‘manage_options’ значит что уровень пользователя >=8, то есть пользователь является администратором)
current_user_can(‘manage_options’)
Мне больше нравиться пераметр ‘administrator’, так что я использую его для определения прав.
Дополним предыдущий код, и получим:
if (is_user_logged_in() && current_user_can(‘administrator’)){ // что-то сделать echo ‘Вы сейчас авторизованы на сайте как администратор! ‘; } else { echo ‘Вы не вошли на сайт! ‘; }
Теперь вы точно знаете, кто вошёл на ваш сайт, и можете вывести какую-либо информацию для администратора(к примеру количество непроверенных комментариев).