Intereting Posts
Ошибка phpMyAdmin # 1062 – Дублирующая запись '1' для ключа 'PRIMARY' Рейтинг пользователя в сообщении WordPress Удалить h1 с темы 2015 года как удалить тире (-) статус сообщения из заголовка сообщения в сообщениях с листингом страницы wordpress Как добавить многозначное изображение в мета-поле в редакторе сообщений? Как конвертировать мой сайт WordPress в агностикцию домена? Прокрутка виджета в боковой панели functions.php добавление элемента в конец меню. Я хочу изменить позицию Лучшие комментаторы: исключить admin Отображение формы входа с помощью Shortcode Виджет со случайными сообщениями из блога для внешних сайтов Подсчитайте сообщения пользователей и сохраните их для последующего использования Как изменить высоту изображения заголовка в Twenty Seventeen? Отображать настраиваемое поле, если оно существует, и имеет определенное значение Измените текст справки «Введите название здесь» в настраиваемом типе сообщения

Удалить панель администратора «Мои сайты» из списка вкладчиков

У меня есть milti-сайт, который настроен для авторов авторизованных сообщений. Я не могу использовать css для изменения панели управления, потому что он удаляет ссылки для всех рулонов пользователя. Как удалить мои сайты, номер комментария и новое из вкладки администратора?

Когда вы используете функцию register_post_type , во втором параметре ( $args ) вы можете изменить некоторые параметры.

См. Код для получения дополнительной информации: https://codex.wordpress.org/Function_Reference/register_post_type#Parameters

Хорошая ссылка также: https://codex.wordpress.org/Roles_and_Capabilities#Capability_vs._Role_Table, чтобы получить дополнительную информацию о возможностях и ролях по умолчанию

Ниже приведен пример из документов для типа «персонализированного типа» книги (добавьте это в свои $args )

 'capabilities' => array( 'edit_post' => 'edit_book', 'read_post' => 'read_book', 'delete_post' => 'delete_book', 'edit_posts' => 'edit_books', 'edit_others_posts' => 'edit_others_books', 'publish_posts' => 'publish_books', 'read_private_posts' => 'read_private_books', 'create_posts' => 'edit_books', ), 

Вы также должны добавить «map_meta_cap» в args:

 'map_meta_cap' => true 

С помощью этого вы можете установить «новые» возможности с помощью карты для своего настраиваемого типа сообщений

 function wpse_288266_add_theme_caps() { // Add cap for the admins $admins = get_role('administrator'); $admins->add_cap('edit_book'); $admins->add_cap('edit_books'); $admins->add_cap('edit_other_books'); $admins->add_cap('publish_books'); $admins->add_cap('read_book'); $admins->add_cap('read_private_books'); $admins->add_cap('delete_book'); $contribs = get_role('contributor'); $contribs->add_cap('edit_book'); $contribs->add_cap('edit_books'); $contribs->add_cap('edit_other_books'); $contribs->add_cap('publish_books'); $contribs->add_cap('read_book'); $contribs->add_cap('read_private_books'); $contribs->add_cap('delete_book'); // Here you remove the rights for other post type without the capabilities mapping $contribs->remove_cap('edit_post'); $contribs->remove_cap('edit_posts'); $contribs->remove_cap('edit_other_posts'); $contribs->remove_cap('publish_posts'); $contribs->remove_cap('delete_post'); /* You'll probably want to let them read the posts $contribs->remove_cap('read_post'); $contribs->remove_cap('read_private_posts'); */ } add_action('admin_init', 'wpse_288266_add_theme_caps'); 

Чтобы ответить на скрытие некоторых кнопок в панели администратора, я добавлю роль в класс body и добавлю CSS

 function wpse_288266_add_role_body_class($classes) { // Get the current user (the action happend when logged in) $current_user = new WP_User(get_current_user_id()); $role = array_shift($current_user->roles); if(is_admin()) { $classes .= 'user-role-'. $role; } else { $classes[] = 'user-role-'. $role; } return $classes; } function wpse_288266_add_role_style() { ?> <style type="text/css" media="screen"> body.user-role-contibutor #wpadminbar #wp-admin-bar-comments { display: none; } body.user-role-contibutor.single-YOUR_POST_TYPE_KEY #wpadminbar #wp-admin-bar-comments { display: list-item; } </style> <?php } // We apply our code only for logged-in users if(is_user_logged_in()) { add_filter('body_class','wpse_288266_add_role_body_class'); add_filter('admin_body_class','wpse_288266_add_role_body_class'); add_action('wp_footer', 'wpse_288266_add_role_style'); // You can do better directly in your real stylesheet add_action('admin_footer', 'wpse_288266_add_role_style'); } 

У меня на самом деле нет «чистой» идеи, чтобы удалить возможность опубликовать комментарий для пользовательского типа сообщения: / Извините за мой английский!