How to Hide WordPress Dashboard Widgets

When you log in to a WordPress site, you will see boxes full of information. These are called “Dashboard Widgets”.

You will probably see a “Welcome to WordPress!” widget with lots of useful links. There's also a “WordPress Events and News” widget with official updates. There's an “At a Glance” widget so you can quickly see key statistics for your site.

Those are only some of the default widgets. And when you add plugins, they will also add extra widgets. In the image below, you can see a widget called “Easy Digital Downloads Sales” which comes from a plugin.

After a while, all these widgets can become overwhelming and your WordPress dashboard will feel busy. In this guide, we'll show you how to disable these dashboard widgets.

Wordpress Dashboard Widgets
WordPress Dashboard Widgets

How to Hide Dashboard Widgets for You

The quickest and easiest option is to disable widgets only for your user account.

  • Go to the main “Dashboard” screen.
  • Click “Screen Options” in the top-right corner.
  • You can disable each widget. Other users will see these widgets, but they will be hidden for you.
Screen Options Widgets
Screen Options Widgets

How to Hide Dashboard Widgets for Everyone

If you want to disable a widget for a user role on your site, I recommend the PublishPress Capabilities plugin. This has a “Admin Features” option and allows you to hide features in the WordPress admin area and toolbar. You can decide what users see in your WordPress dashboard.

  • Install the PublishPress Capabilities plugin.
  • Go to Capabilities > Admin Features in your WordPress menu.
  • Choose a user role from the dropdown box in the top-left corner.
  • Scroll down to the “Dashboard widgets” area.
  • You can now check the box for any widget you want to disable for this user role:
Hide Widgets
Hide Widgets

The settings in the screenshot above will produce the view shown in the screenshot below. All your dashboard widgets are hidden.

Empty Dashboard
Empty Dashboard

Disabling Dashboard Widgets With Code

It is also possible to disable dashboard widgets by adding code to your theme's functions.php file.

For example, this will disable the first three widgets shown in the screenshot above.

function remove_dashboard_widgets() {
    global $wp_meta_boxes;
 
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_welcome_panel']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_browser_nag']);
    unset($wp_meta_boxes['dashboard']['normal']['core']
['dashboard_php_nag']);

}
 
add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );

This code option does also offer the ability to show the widgets for some users. For example, if you want to allow Administrators to see the widget, you can require a capability that only Administrators have. For example, only Administrators have the manage_options capability, so this code will allow them to see the widgets:

if (!current_user_can('manage_options')) {
    add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
}

More WordPress Capability Guides

In the PublishPress Knowledge Base, you'll find a guide to every core capability in WordPress.

For example, there's a guide to “read”, which every WordPress site needs to have. There's also an overview of “edit_posts”, which controls access to most of the key writing features in WordPress.

If you're ever unsure what a capability does in WordPress, head over to our knowledge base. You'll learn what it does, if it requires any other capabilities, and how to assign it to users.

Finally, if you're cleaning up your WordPress admin area, check out how to hide WordPress admin menushide the admin toolbar and hide metaboxes.

Leave a Reply

Your email address will not be published. Required fields are marked *