Skip to content
GPLWP Guides

How to white-label the WordPress admin dashboard

Design & Layout Time About 30–60 minutes 6 steps Updated 16 Sep 2026

DESIGN & LAYOUT
The short answer

You can white-label parts of WordPress manually with Screen Options, a small site-specific plugin and admin hooks. That works for a simple client dashboard, but a branding plugin is faster when you need a custom login screen, colours, menus, toolbar controls and role-based settings together.

The route
  1. 01Decide what to rebrand
  2. 02Use the built-in controls first
  3. 03Put manual changes in site code
  4. 04Brand the login and admin chrome
  5. 05Trim menus and dashboard widgets
  6. 06Use a plugin for the fast route

What you need

  • Administrator access to WordPress
  • A logo and brand colours in web-friendly formats
  • A recent backup or staging copy
  • A site-specific plugin or safe code-snippet method for custom code

Decide what to rebrand

List the parts clients will see: the login screen, WordPress logo and toolbar, sidebar menus, dashboard widgets, admin colours, page titles and footer text. Do not remove update, security or user-management screens until you know who needs them.

Keep administrator access separate from client-facing roles. White-labelling changes the interface; it does not replace WordPress permissions.

Use the built-in controls first

Open Dashboard > Home and use Screen Options to hide widgets you do not want on that user’s dashboard. WordPress saves these choices per user, so this is useful for your own account but is not a complete agency-wide white-label system. You can also drag widgets into a clearer order and collapse them.

Ask each user to choose an appropriate colour scheme under Users > Profile. This changes the admin palette for that account, but it does not replace the WordPress logo, rename menus or brand the login screen.

Put manual changes in site code

For a small customisation, use a site-specific plugin or another code method that survives a theme change. Do not edit WordPress core, and do not rely on the active theme’s functions.php if the client may change themes.

Load admin styles through admin_enqueue_scripts and restrict them to the screens that need them. WordPress provides the current admin page suffix so you do not load branding CSS across every admin screen. Use login_enqueue_scripts for login-page CSS instead.

Brand the login and admin chrome

Use the login filters login_headerurl and login_headertext to change the destination and accessible name of the login logo, then use login CSS to apply your logo, colours and spacing. The logo itself is normally supplied through CSS or a background image, not by changing wp-login.php.

For the dashboard, use admin CSS for visual changes and admin_footer_text for a short client or agency message. The admin toolbar can be changed through admin_bar_menu or wp_before_admin_bar_render, where toolbar nodes can be added or removed.

Trim menus and dashboard widgets

Use the admin_menu action with functions such as remove_menu_page() to remove sidebar items for a specific capability or role. Run this at the correct hook: WordPress documents that admin_menu runs before the administration menu loads and should not be placed inside admin_init.

Remove dashboard widgets with wp_dashboard_setup and remove_meta_box(), or add a replacement widget with wp_add_dashboard_widget(). Identify widgets added by plugins separately, because a snippet that removes core widgets may leave promotional panels or custom widgets behind.

Important: hiding a menu is not a security control. A user may still reach a URL if their role has the capability, and removing a menu can also hide access to updates or recovery tools. Test every change with a staging account before applying it to a client site.

Use a plugin for the fast route

If you need one settings screen for login branding, logos, colours, footer text, dashboard cleanup and agency white-labelling, use a dedicated admin-branding plugin rather than maintaining several snippets. This also makes it easier to repeat the same setup across client sites and adjust it when WordPress or another plugin changes its admin markup.

WPMU DEV Branda Pro Ultimate Branding is a suitable option for this route. Configure the branding, login and admin controls, then check the result as an administrator and as each client role. Keep a documented fallback account and avoid hiding the screens needed for updates, backups, security checks or support.

The fast route

Let WPMU DEV Branda Pro Ultimate Branding do it

Customizes login and admin branding with logos, colors, and white-label controls for agencies managing client sites.

Get WPMU DEV Branda Pro Ultimate Branding

Sources

  1. wordpress.org /documentation/article/dashboard-screen/?utm_source=openai
  2. developer.wordpress.org /reference/hooks/admin_enqueue_scripts/?utm_source=openai
  3. developer.wordpress.org /reference/hooks/login_headerurl/?utm_source=openai
  4. developer.wordpress.org /reference/hooks/admin_footer_text/?utm_source=openai
  5. developer.wordpress.org /reference/hooks/admin_menu/?utm_source=openai
  6. developer.wordpress.org /reference/hooks/wp_dashboard_setup/?utm_source=openai

Questions

Can I white-label the WordPress dashboard without a plugin?
Yes, a simple white-label setup can be done without a plugin using Screen Options, admin CSS and WordPress hooks. You can change the login logo, footer text, toolbar items, menu visibility and dashboard widgets with site-specific code. The manual route becomes harder to maintain when you need role-based settings, reusable configurations, multisite support or branding across many client sites.
Does hiding an admin menu item stop a user accessing it?
No, hiding a menu item does not remove the underlying capability or reliably block a direct URL. Use WordPress roles and capabilities to control access, then use menu hiding only to reduce clutter. If you remove update, security or user-management links, keep a tested administrator account that can still reach them.
Why did my dashboard widget removal snippet miss some widgets?
Dashboard widgets can come from WordPress core, themes and plugins, and each one has its own registered ID and context. A snippet aimed at core widgets will not automatically remove a plugin’s promotional panel. Check the widget registration or use the plugin’s own setting, and test both the normal dashboard and Network Admin on multisite.
Should admin branding code go in the theme functions file?
It can, but a site-specific plugin is usually safer because the code remains active when the theme changes. Theme files are also easier for a client or update process to overwrite. Whichever method you use, keep a backup and add changes in small groups so you can identify the hook or CSS rule that causes a conflict.
Will white-labelling remove WordPress branding everywhere?
Not automatically. Login branding, the admin toolbar, sidebar menus, dashboard widgets, page titles and footer text are separate parts of the interface. You must handle each area through its own setting, filter, action or CSS rule, and third-party plugins may add their own branding that needs separate configuration.