Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
Теми
Уроки
Хакі

Допустимо, ви відкрили свій блог для гостьових авторів, ви створили для них користувача, і, можливо, навіть власну роль. Найімовірніше, у вас буде один або кілька пунктів меню, які ви не захочете показувати гостьовим авторам. Але як їх сховати? У цьому короткому уроці ми розглянемо, як з панелі керування WordPress вибірково видалити певні пункти меню, залежно від конкретної ролі користувача.

Дивіться також:

Виявляється, це досить нескладно: просто подивіться URL-и цих пунктів меню і потім використовуйте їх для своєї функції так:

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
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' );
    }
}

Ось деякі назви сторінок меню для найпоширеніших пунктів меню, стандартних у WordPress:

remove_menu_page('edit.php'); // Записи
remove_menu_page('upload.php'); // Медиафайлы
remove_menu_page('link-manager.php'); // Ссылки
remove_menu_page('edit-comments.php'); // Комментарии
remove_menu_page('edit.php?post_type=page'); // Страницы
remove_menu_page('plugins.php'); // Плагины
remove_menu_page('themes.php'); // Внешний вид
remove_menu_page('users.php'); // Пользователи
remove_menu_page('tools.php'); // Инструменты
remove_menu_page('options-general.php'); // Параметры

Є також деякі плагіни, які допоможуть вам, якщо ви не любите писати код самостійно.

Adminimize

Видаляємо меню в адмінці WordPress залежно від ролі користувача

Редактор меню адміністратора

Видаляємо меню в адмінці WordPress залежно від ролі користувача

І ще одна бонусна порада. Якщо ви хочете видалити можливість для будь-якої ролі переглянути список постів інших користувачів, використовуйте наступний код:

add_action( 'load-edit.php', 'posts_for_current_contributor' );
function posts_for_current_contributor() {
    global $user_ID;
 
    if ( current_user_can( 'contributor' ) ) {
       if ( ! isset( $_GET['author'] ) ) {
          wp_redirect( add_query_arg( 'author', $user_ID ) );
          exit;
       }
   }
 
}

І, звичайно, якщо ви ще не чули про це, ось відмінний плагін для управління ролями та правами в WordPress:

члени

Видаляємо меню в адмінці WordPress залежно від ролі користувача

Джерело: WPMayor.com
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, що спеціалізується на створенні сайтів WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 4

Олексій:

Вітання! У мене питання не по темі, але воно мене хвилює. Проблеми із плагіном DB Cache Reloaded. Як я можу надіслати скріншот із проблемою?

Володимир:

Потрібно писати не admin_init, a admin_menu

фива:

де саму роль вписувати у скрипт?

!:

2022: Скрипт не працює через functions.php

Додати коментар або відгук