WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking for a complete blank Dashboard. No widgets at all and preferably one column.

There are snippets to remove the default WordPress widgets, but haven't found nothing about the ones added by plugins. Searched all over and seems that this hasn't been asked.

Not blank WordPress Dashboard

share|improve this question
up vote 4 down vote accepted

From this Q&A, I've learned about the global variable $wp_meta_boxes. And over there is also the code to remove the default meta boxes.

After examining the variable, this is the code I wrote to remove all Dashboard Widgets, including the ones added by plugins:

add_action('wp_dashboard_setup', 'wpse_73561_remove_all_dashboard_meta_boxes', 9999 );

function wpse_73561_remove_all_dashboard_meta_boxes()
    global $wp_meta_boxes;
    $wp_meta_boxes['dashboard']['normal']['core'] = array();
    $wp_meta_boxes['dashboard']['side']['core'] = array();

The answer to force one column as a screen option is from here:

add_filter( 'get_user_option_screen_layout_dashboard', 'wpse_4552_one_column_layout' );

function wpse_4552_one_column_layout( $cols ) {
    if( current_user_can( 'basic_contributor' ) )
        return 1;
    return $cols;

This one provided the code to hide the Screen Options and the Help tabs:

add_filter( 'contextual_help', 'wpse_25034_remove_dashboard_help_tab', 999, 3 );
add_filter( 'screen_options_show_screen', 'wpse_25034_remove_help_tab' );

function wpse_25034_remove_dashboard_help_tab( $old_help, $screen_id, $screen )
    if( 'dashboard' != $screen->base )
        return $old_help;

    return $old_help;

function wpse_25034_remove_help_tab( $visible )
    global $current_screen;
    if( 'dashboard' == $current_screen->base )
        return false;
    return $visible;

Ok, now there's almost nothing in the Dashboard, what's next?

A bit of CSS to hide the icon-index and H2 title, and some jQuery to fill the void:

add_action( 'admin_head-index.php', 'wpse_73561_dashboard_scripts' );

function wpse_73561_dashboard_scripts() {
        <style>#icon-index, .wrap h2 {display:none}</style>
        <script language="javascript" type="text/javascript">
            jQuery(document).ready(function($) {
                fillTheVoid(); // soon in StackOverflow 

[ update ]

The filled void can be found in StackOverflow.
Use that wpse_73561_dashboard_scripts function instead of this one.

share|improve this answer
Why not just $wp_meta_boxes['dashboard']['normal']['core'] = array()? – toscho Nov 22 '12 at 1:46
@toscho : I knew there was something weird about those lines... Danke schön :) – brasofilo Nov 22 '12 at 1:50

This will work fine

add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
function remove_dashboard_widgets() {

    global $wp_meta_boxes;

share|improve this answer
Will test and give you feedback, thanks! – brasofilo Sep 20 '15 at 20:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.