Almalick Blog

Customizing the WordPress Dashboard with Snippets

The WordPress dashboard is the control center for managing your website. While it offers extensive features, there are times when you may want to simplify the interface or hide certain options. Here, we’ll explore how to customize the dashboard by using code snippets for specific tasks.

WordPress Dashboard scaled
WordPress Dashboard 1

1. Hiding the Screen Options Tab

The Screen Options tab allows users to customize their view of the admin interface. If you want to remove this tab for all users, use the following snippet:

function hide_screen_options_tab() {
    if (is_admin()) {
        echo '<style>#screen-options-link-wrap { display: none; }</style>';
    }
}
add_action('admin_head', 'hide_screen_options_tab');

How It Works:

  • The admin_head hook adds a custom CSS rule to the admin area.
  • This hides the Screen Options tab by setting its display property to none.

2. Hiding Menu Items in the Admin Sidebar

To declutter the admin dashboard, you can hide specific menu items by using the remove_menu_page() function. Add this snippet to your theme’s functions.php file:

function hide_admin_menu_items() {
    // List of menu slugs to remove
    remove_menu_page('index.php');               // Dashboard
    remove_menu_page('edit.php');                // Posts
    remove_menu_page('upload.php');              // Media
    remove_menu_page('edit.php?post_type=page'); // Pages
    remove_menu_page('edit-comments.php');       // Comments
    remove_menu_page('themes.php');              // Appearance
    remove_menu_page('plugins.php');             // Plugins
    remove_menu_page('users.php');               // Users
    remove_menu_page('tools.php');               // Tools
    remove_menu_page('options-general.php');     // Settings
}
add_action('admin_menu', 'hide_admin_menu_items');

Customization:

  • Replace the menu slugs with the ones you want to hide. For example:
    • index.php – Dashboard
    • edit.php – Posts
    • upload.php – Media
  • To keep an item visible, simply remove or comment out its corresponding line.

3. Restricting Changes to Specific Roles

If you want to hide these items only for non-admin users, use this modified snippet:

function hide_admin_menu_for_non_admins() {
    if (!current_user_can('administrator')) {
        remove_menu_page('index.php');           // Dashboard
        remove_menu_page('edit.php');            // Posts
        remove_menu_page('upload.php');          // Media
        remove_menu_page('edit-comments.php');   // Comments
    }
}
add_action('admin_menu', 'hide_admin_menu_for_non_admins');

How It Works:

  • The current_user_can('administrator') function checks if the user is an admin.
  • Menu items are hidden only for non-admin users.

4. Customizing the Dashboard Footer Text

To modify or remove the footer text in the WordPress admin dashboard, use this snippet:

function customize_admin_footer_text() {
    echo 'Thank you for using Skill Hub Community!';
}
add_filter('admin_footer_text', 'customize_admin_footer_text');

How It Works:

  • The admin_footer_text filter replaces the default WordPress footer text with your custom message.

5. Adding Custom Widgets to the Dashboard

You can add a custom widget to the dashboard for displaying useful information or links:

function add_custom_dashboard_widget() {
    wp_add_dashboard_widget(
        'custom_dashboard_widget',
        'Welcome to Skill Hub Community',
        'custom_dashboard_widget_content'
    );
}
add_action('wp_dashboard_setup', 'add_custom_dashboard_widget');

function custom_dashboard_widget_content() {
    echo '<p>Here is some custom content or helpful links for users.</p>';
}

How It Works:

  • The wp_dashboard_setup hook is used to register a new widget.
  • The widget displays custom content using the custom_dashboard_widget_content function.

6. Removing Unnecessary Dashboard Widgets

To clean up the dashboard by removing unwanted widgets, use this snippet:

function remove_dashboard_widgets() {
    remove_meta_box('dashboard_quick_press', 'dashboard', 'side');    // Quick Draft
    remove_meta_box('dashboard_activity', 'dashboard', 'normal');    // Activity
    remove_meta_box('dashboard_primary', 'dashboard', 'side');       // WordPress News
    remove_meta_box('dashboard_secondary', 'dashboard', 'side');     // Secondary Widget
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');

Customization:

  • Use remove_meta_box() to target specific widgets by their IDs.
  • Comment out any line for widgets you want to keep.

Conclusion

These snippets provide a powerful way to customize the WordPress dashboard to better suit your needs or streamline the experience for your clients or users. Always test your changes on a staging site before applying them to a live website to avoid potential issues.

For more information about WordPress dashboard Click Me

Feel free to share your feedback or additional tips in the comments below!

Similar Posts

Leave a Reply

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