Условный тег: current_user_can

06.05.2012
Описание

Тег проверяет права текущего пользователя. Этот условный тег является boolean-функцией, то есть он возвращает только true или false.

При некоторых обстоятельствах текущий пользователь может быть не определен. В таком случае необходимо использовать условный тег user_can.

Использование
<?php if ( current_user_can($capability) ) { ... } ?>
Параметры

$capability

(строка) (обязательный) - возможность или роль.

По умолчанию значения нет.

Значения

boolean

Возвращает true если пользователь имеет необходимые права и false в противном случае.

Примеры

1 Проверка роли текущего пользователя

<?php 
    if( current_user_can('administrator') )  
        echo "Пользователь имеет права администратора блога"; 
    else
        echo "Пользователь не имеет прав администратора блога";
?>

2 Проверка возможности текущего пользователя

<?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));  
?>

Данный код, вставленный в файл шаблона footer.php, выведет информацию о скорости генерации страницы только для администраторов блога.

Лог изменений

Функция добавлена в версии 2.0.0

Исходный файл

Функция current_user_can() находится в wp-includes/capabilities.php

Связанные теги|функции
Рубрики: Теги шаблоновФункции WordPressУсловные теги

Понравился пост? Подпишись на обновления по Обновления блога по RSSRSS или Обновления блога на TwitterTwitter !

Комментарии (всего 3 комментария)

Написать комментарий

(обязательно)

(обязательно, не публикуется)

Для вставки кода используйте кнопку "Код", по умолчанию используется синтаксис подсветки языка "php", вы можете поменять его на любой другой поддерживаемый GeSHi язык, например "javascript", "css", "html4strict", "sql" и тд. Используйте предпросмотр!
 


Подписаться на уведомления без комментирования.