Показывать элемент из массива только админам - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть этот массив:

$avia_pages = array(
    array('slug' => 'avia',   'parent'=>'avia', 'icon'=>"new/spanner-screwdriver-7@3x.png" , 'title' =>  __('Theme Options', 'avia_framework')),
    array('slug' => 'layout', 'parent'=>'avia', 'icon'=>"new/window-within-7@3x.png",        'title' =>  __('General Layout', 'avia_framework')), 
);

И мне нужно показать это только для администратора.Я попытался использовать if

(if (is_super_admin()) {
    array('slug' => 'layout',  'parent'=>'avia', 'icon'=>"new/window-within-7@3x.png", 'title' =>  __('General Layout', 'avia_framework')),
}

Но это не сработало, я получил ошибки PHP.

Для получения дополнительной информации я использую Enfold Theme в Wordpress 5.1

Что яя делаю не так?

1 Ответ

0 голосов
/ 23 февраля 2019

Вы можете вызвать функцию current_user_can , передав в качестве параметра администратору роли.

<?php if( current_user_can('administrator') ) { ?> 
    // stuff here for admins
<?php } else { ?>
    // stuff here for not admins
<?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 } ?>

Посмотрите здесь для получения дополнительной информации о возможностях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...