Часто случается такая ситуация, что когда автор сайта WordPress (он же администратор) дает доступ в консоль администратора другим пользователям, то есть тем, которые имеют свои роли (другие права доступа). Да у каждой роли свои права, они не смогут делать на сайте то, что им не положено. Но многие администраторы сайтов предпочитают все равно скрыть некоторые пункт меню из панели (консоли) администратора.
Поэтому в данной статье мы и рассмотрим, как можно убрать некоторые пункты меню для конкретных пользователей WordPress. Это может понадобиться для тех, кто публикует гостевые посты на Вашем ресурсе.
В WordPress это делается очень просто. Вам необходимо только лишь посмотреть URL (адреса страниц) этих пунктов меню, которые Вы хотите спрятать и использовать следующую функцию:
add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
global $user_ID;
if ( current_user_can( 'wpmayorauthor' ) ) {
remove_menu_page( 'edit.php?post_type=thirstylink' );
remove_menu_page( 'edit.php?post_type=wprss_feed' );
remove_menu_page( 'authorhreview' );
}
}
Понятно я думаю тут все. В remove_menu_page необходимо указать тот адрес страницы, который Вы хотите спрятать для конкретного пользователя. Естественно, что данная функция должна находиться в файле functions.php. Ниже я представлю список самых основных пунктов меню консоли администратора в WordPress:
- edit.php – записи WordPress
- upload.php – загрузка медиафайлов
- link-manager.php – ссылки WordPress
- edit-comments.php – комментарии WordPress
- edit.php?post_type=page – страницы WordPress
- plugins.php – плагины WordPress
- themes.php – внешний вид Вашего сайта
- users.php – список пользователей Вашего сайта
- tools.php – инструменты
- optional-general.php – параметры Вашего сайта
Если Вы не хотите копаться в коде и редактировать некоторые файлы, то я могу Вам предложить список плагинов, которые помогут также Вам скрыть нужные пункты меню в консоли администратора. Вот список плагинов, которые позволяют это дело организовать:
- Adminimize
- Admin Menu Editor
Также хочется дать Вам еще один небольшой совет. Если на Вашем сайте присутсвует несколько ролей и для конкретной роли Вы хотите запретить просматривать список постов, которые публикуют другие пользователи, то Вам стоит использовать следующий код, который необходимо поместить в functions.php:
Для управления ролями также имеется отличный плагин Members, который облегчит Вам работу с ролями пользователей WordPress. Удачи и до новых встреч!
Также советуем почитать на PressDev.RU
Короткая ссылка: http://pressdev.ru/?p=3712
И что из этого следует?