wp_get_current_user()

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция wp_get_current_user() позволяет получить информацию о текущем пользователе в виде объекта WP_User.

wp_get_current_user()

Аргументы отсутствуют.

Возвращает объект WP_User, если пользователь авторизован (вошёл в систему). Если пользователь не авторизован, то функция автоматически установит ID пользователя равное 0 и вернёт пустой объект. Проверить, авторизован пользователь или нет, можно при помощи функции is_user_logged_in().

Пример возвращаемого объекта WP_User для администратора:

WP_User Object
(
    [data] => stdClass Object
        (
            [ID] => 1
            [user_login] => admin
            [user_pass] => $P$BMoN3hwygEeQhe6xS234ReDeMbDd3lA0
            [user_nicename] => admin
            [user_email] => no-reply@misha.blog
            [user_url] => http://misha.blog
            [user_registered] => 2020-06-20 16:18:22
            [user_activation_key] => 
            [user_status] => 0
            [display_name] => admin
        )
 
    [ID] => 1
    [caps] => Array
        (
            [administrator] => 1
        )
 
    [cap_key] => wp_capabilities
    [roles] => Array
        (
            [0] => administrator
        )
 
    [allcaps] => Array
        (
            [switch_themes] => 1
            [edit_themes] => 1
            [activate_plugins] => 1
            [edit_plugins] => 1
            [edit_users] => 1
            [edit_files] => 1
            [manage_options] => 1
            [moderate_comments] => 1
            [manage_categories] => 1
            [manage_links] => 1
            [upload_files] => 1
            [import] => 1
            [unfiltered_html] => 1
            [edit_posts] => 1
            [edit_others_posts] => 1
            [edit_published_posts] => 1
            [publish_posts] => 1
            [edit_pages] => 1
            [read] => 1
            [level_10] => 1
            [level_9] => 1
            [level_8] => 1
            [level_7] => 1
            [level_6] => 1
            [level_5] => 1
            [level_4] => 1
            [level_3] => 1
            [level_2] => 1
            [level_1] => 1
            [level_0] => 1
            [edit_others_pages] => 1
            [edit_published_pages] => 1
            [publish_pages] => 1
            [delete_pages] => 1
            [delete_others_pages] => 1
            [delete_published_pages] => 1
            [delete_posts] => 1
            [delete_others_posts] => 1
            [delete_published_posts] => 1
            [delete_private_posts] => 1
            [edit_private_posts] => 1
            [read_private_posts] => 1
            [delete_private_pages] => 1
            [edit_private_pages] => 1
            [read_private_pages] => 1
            [delete_users] => 1
            [create_users] => 1
            [unfiltered_upload] => 1
            [edit_dashboard] => 1
            [update_plugins] => 1
            [delete_plugins] => 1
            [install_plugins] => 1
            [update_themes] => 1
            [install_themes] => 1
            [update_core] => 1
            [list_users] => 1
            [remove_users] => 1
            [promote_users] => 1
            [edit_theme_options] => 1
            [delete_themes] => 1
            [export] => 1
            [administrator] => 1
        )
 
    [filter] => 
    [site_id:WP_User:private] => 1
)

Пример 1

Первый пример будет из урока Комментарии видеокурса Создание темы WordPress.

$current_user = wp_get_current_user(); // получили объект с данными текущего авторизованного пользователя
 
echo '<p>Вы вошли как' . $current_user->display_name . '.</p>'; // получим <p>Вы вошли как admin.</p>

Пример 2

Мы можем получить все права (capabilities) текущего пользователя. По умолчанию все права различаются в зависимости от роли пользователя. Можно конечно проверить определенное право с помощью функции current_user_can(), но лучше распечатать все текущие права пользователя для наглядности.

echo '<pre>'; // используем тег pre, чтобы получить читаемый код
print_r( wp_get_current_user()->allcaps );

Текущий пользователь имеет роль подписчик и мы получим следующий массив данных с его правами.

Array
(
    [read] => 1
    [level_0] => 1
    [subscriber] => 1
)

Если хотите посмотреть все права администратора, то они приведены выше, в примере возвращаемого объекта.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии