Условный тег: current_user_can
Тег проверяет права текущего пользователя. Этот условный тег является boolean-функцией, то есть он возвращает только true или false.
При некоторых обстоятельствах текущий пользователь может быть не определен. В таком случае необходимо использовать условный тег user_can.
<?php if ( current_user_can($capability) ) { ... } ?> |
<?php if ( current_user_can($capability) ) { ... } ?>
$capability
(строка) (обязательный) - возможность или роль.
По умолчанию значения нет.
boolean
Возвращает true если пользователь имеет необходимые права и false в противном случае.
1 Проверка роли текущего пользователя
<?php if( current_user_can('administrator') ) echo "Пользователь имеет права администратора блога"; else echo "Пользователь не имеет прав администратора блога"; ?> |
<?php if( current_user_can('administrator') ) echo "Пользователь имеет права администратора блога"; else echo "Пользователь не имеет прав администратора блога"; ?>
2 Проверка возможности текущего пользователя
<?php if( current_user_can('edit_posts') ) echo "Пользователь может редактировать записи"; else echo "Пользователь не может редактировать записи"; ?> |
<?php if( current_user_can('edit_posts') ) echo "Пользователь может редактировать записи"; else echo "Пользователь не может редактировать записи"; ?>
3 Практическое использование
<?php if( current_user_can('administrator') ) printf('%d %s', get_num_queries(), timer_stop(0, 3)); ?> |
<?php if( current_user_can('administrator') ) printf('%d %s', get_num_queries(), timer_stop(0, 3)); ?>
Данный код, вставленный в файл шаблона footer.php, выведет информацию о скорости генерации страницы только для администраторов блога.
Функция добавлена в версии 2.0.0
Функция current_user_can() находится в wp-includes/capabilities.php
Условные теги: comments_open, current_user_can, is_404, is_admin, is_archive, is_attachment, is_author, is_category, is_comments_popup, is_date, is_day, is_feed, is_front_page, is_home, is_local_attachment, is_multi_author, is_month, is_new_day, is_page, is_page_template, is_paged, is_plugin_active, is_plugin_active_for_network, is_plugin_inactive, is_plugin_page, is_post_type_archive, is_preview, is_search, is_single, is_singular, is_ssl, is_sticky, is_tag, is_tax, is_year, in_category, in_the_loop, is_active_sidebar, is_blog_installed, is_rtl, is_dynamic_sidebar, is_user_logged_in, has_excerpt, has_post_thumbnail, has_tag, pings_open, email_exists, post_password_required, post_type_exists, taxonomy_exists, user_can, username_exists, wp_attachment_is_image
Понравился пост? Подпишись на обновления по RSS или Twitter !
#1,
А как выводить нагрузку не только для админов, но еще и для авторов блога? Что-то у меня получается или только для админов или только для авторов и никак иначе. Может подскажите?
#2,
ну это совсем просто:
#3,
Спасибо, работает!