Pro Verified

Name

Hide Wordpress Dashboard Items based on User Role

About

An expansion of a previous code where you can hide items from the WP Sidebar based on the User Role.

Language

PHP

Rating

Voted: 1 by 1 user(s)

How to Setup Snippet

Check the user role and what you want to show to them. Always leave the Administrator as able to see all.

Codevault

WebSquadron

Scroll down to see more snippets from this codevault.

Wordpress Compatability

The author has indicated that this snippet is compatable up to wordpress version: 6.1

Code Snippet Plugin Sync

Free & Pro

Download this snippet by clicking the download button, then head over to the Code Snippet Plugin settings in your wordpress admin dashboard, select the import menu then upload this file to import into your wordpress site.

Pro Only (Coming Soon)

You will be able to click a button and sync this snippet to your wordpress site automatically and from your dashboard manage all code snippets across all your wordpress sites that have the Code Snippets Pro plugin installed.

History

Last modified:

24/03/2024

Important Note

This snippet has the following status:

Pro Verified

This snippet has been verified by a Code Snippet Pro team member.

Pro Comments:

Hide Wordpress Dashboard Items based on User Role

 
                    
1function remove_dashboard_menu_items() {
2 global $menu;
3 $user = wp_get_current_user();
4 $user_role = $user->roles[0]; // Get the first user role assigned to the user
5 
6 if ($user_role == 'administrator') {
7 // Admin can see all menu items
8 return;
9 } elseif ($user_role == 'editor') {
10 // Editors can see Pages and Posts
11 unset($menu[25]); // Removes "Comments"
12 unset($menu[60]); // Removes "Appearance"
13 unset($menu[65]); // Removes "Plugins"
14 unset($menu[70]); // Removes "Users"
15 unset($menu[75]); // Removes "Tools"
16 unset($menu[80]); // Removes "Settings"
17 remove_menu_page('index.php'); // Removes the Dashboard home page
18 } else {
19 // All other users see limited menu items
20 unset($menu[5]); // Removes "Posts"
21 unset($menu[10]); // Removes "Media"
22 unset($menu[20]); // Removes "Pages"
23 unset($menu[25]); // Removes "Comments"
24 unset($menu[60]); // Removes "Appearance"
25 unset($menu[65]); // Removes "Plugins"
26 unset($menu[70]); // Removes "Users"
27 unset($menu[75]); // Removes "Tools"
28 unset($menu[80]); // Removes "Settings"
29 remove_menu_page('index.php'); // Removes the Dashboard home page
30 }
31}
32add_action('admin_menu', 'remove_dashboard_menu_items');

1

Featured Snippet

Related Snippets

Please see some snippets below related to this snippet..

WordPress Admin

AI Verified

3

Redirect after successful non-admin login

Added: 1 year ago

Last Updated: 3 months ago

This snippet redirects a non-admin user to the URL or page/post of choice.

WordPress Admin

AI Verified

0

Customize WordPress notification e-mails

Added: 1 year ago

Last Updated: 1 year ago

Adding custom e-mail addresses for comment moderation or when anyone posts a comment.

WordPress Admin

AI Verified

0

Code Snippets Pro: Trigger Save Upon Enter in Snippet Title Input [SnipSnip.pro]

Added: 11 months ago

Last Updated: 8 months ago

When editing a snippet title, hitting the Enter key will save the snippet.

Other Snippets in this Codevault

These are some popular snippets from this users codevault..

Performance

AI Verified

31

Remove Unused Javascript

Added: 1 year ago

Last Updated: 1 month ago

Remove Unused Javascript - and improve your Page Speed Insight Score

WooCommerce

Pro Verified

10

Deactivate some WooCommerce Checkout Fields

Added: 1 year ago

Last Updated: 1 week ago

Deactivate some WooCommerce Checkout Fields from showing

Elementor

AI Verified

6

CSS Grid Aid

Added: 7 months ago

Last Updated: 1 month ago

This can be used for any WordPress Builder to aid working with CSS Grids.