Roconpaas

Blog

WordPress Change Order of Submenu in Admin Menu

March 19, 2025 by Adam

WordPress Keeps Logging Me Out

Introduction

WordPress change order of submenu in admin menu: Ever had to search for a menu item in your WordPress dashboard? You’re not alone! By default, WordPress has a fixed order for the admin menu which may not always fit your workflow. If you use certain settings frequently having the submenu items in order of your preference can save time and reduce clutter.

What if you could rearrange submenus to your needs—put most used options at the top and less used ones out of the way? Good news you can!

In this article we’ll show you how to change the order of submenus in the WordPress admin menu using code snippets and user friendly plugins. Whether you’re a developer fine-tuning the backend or a website owner seeking for a more structured dashboard, you’ll find an easy solution here.   Let’s start by taking control of your WordPress admin menu!

 

buy 1 get 1 offer

Are You Struggling with Slow WordPress Hosting?

Switch to Rocon for high performance and reliabile WordPress hosting for your website!

Why Customize the WordPress Admin Menu?

The WordPress admin menu is at the center of your website, but as you add plugins and features, it may quickly become cluttered and confused. Changing the order of the menu and submenus helps you to build a more ordered and efficient workflow for yourself.

 Here’s why updating the admin menu is crucial:

Be More Productive- Placing commonly used items near the top minimizes scrolling and saves time, especially if you manage many websites or perform repetitive tasks.

 Less Clutter – Some plugins provide menu options that you don’t use frequently. Customizing the menu allows you to move or delete less important options, resulting in a more streamlined look.

Usability for Teams and Clients – If you’re creating a website for clients or team members, a well-organized admin menu will make it easier for them to browse without difficulty.

Enabling Custom Menu Order in WordPress

Before we can rearrange submenus we need to tell WordPress we want to use custom menu order instead of the default structure. This is done by the custom_menu_order filter.

Step 1: Enable Custom Menu Ordering

To enable custom menu ordering add the following to your theme’s functions.php file:

php

add_filter(‘custom_menu_order’, ‘__return_true’);

This will enable the custom menu order feature but on it’s own won’t do anything. You’ll still need to define the menu order itself which we’ll cover in the next sections.

Reordering the Main Admin Menu

Once you’ve enabled custom menu ordering, the next step is to define the actual order of menu items. WordPress has the menu_order filter which allows you to customize how the main admin menu is structured.

Step 2: Define a Custom Menu Order

By default WordPress orders the menu in a preset order, but you can change this by returning a custom array of menu slugs. The following code snippet, when added to your functions.php file, will reorder the main admin menu:

php

function custom_admin_menu_order($menu_order) {

    return array(

        ‘index.php’,           // Dashboard

        ‘edit.php?post_type=page’, // Pages

        ‘edit.php’,            // Posts

        ‘upload.php’,          // Media

        ‘edit-comments.php’,   // Comments

        ‘themes.php’,          // Appearance

        ‘plugins.php’,         // Plugins

        ‘users.php’,           // Users

        ‘tools.php’,           // Tools

        ‘options-general.php’  // Settings

    );

}

add_filter(‘menu_order’, ‘custom_admin_menu_order’);

How It Works:

  •  Each item in the array represents a menu slug for an admin page.
  • ‘index.php’ is the Dashboard, ‘edit.php’ is for Posts, and `’upload.php’ is for the Media Library.
  • You can reorder or remove items by editing the array.

Reordering Submenu Items

You can also customize submenu items inside each section, like Appearance, Settings, or Plugins. This is done using the admin_menu action and the global $submenu variable.

Step 3: Reorder Submenus

For example, if you want to reorder the “Appearance” submenu and move “Customize” to the top, use this snippet:

php

function custom_submenu_order() {

    global $submenu;

    if (isset($submenu[‘themes.php’])) {

        $submenu[‘themes.php’] = array(

            $submenu[‘themes.php’][6],  // Customize

            $submenu[‘themes.php’][5],  // Themes

            $submenu[‘themes.php’][15], // Background

            $submenu[‘themes.php’][20], // Theme Editor

        );

    }

}

add_action(‘admin_menu’, ‘custom_submenu_order’);

How It Works:

  • The function returns an array of menu slugs in the order you want WordPress to structure the main menu.
  • Each item in the array is a menu slug, which corresponds to a specific admin page.
  • For example ‘index.php’ is the Dashboard, ‘edit.php’ is the Posts menu and ‘upload.php’ is the Media Library.
  • The menu_order filter then applies this custom order to the admin menu.
  • With this setup your most used sections, like Pages and Posts, can be on top and less used menus can be at the bottom.

Using Plugins to Customize the Admin Menu

If you’re not comfortable with coding or prefer a quicker way to manage your WordPress admin menu, plugins are the way to go. These tools offer a user-friendly interface to reorder, hide, rename or restructure admin menu items without touching core files.

Here are some of the best plugins for customizing the WordPress admin menu:

1. Admin Menu Editor

Best for: Quick and easy menu reordering with a drag-and-drop interface.

Features:

  • Rearrange menu and submenu items with ease.
  • Rename menus and change icons.
  • Hide menu items based on user roles.
  • Free and Pro version (Pro includes role-based access control).

Perfect for site owners who want a simple way to organize their dashboard without writing code.

2. AG Custom Admin

Best for: Full admin panel customization, including styling and branding.

Features:

  • Reorder, rename or remove menu items.
  • Customize the WordPress login page, dashboard widgets and admin bar.
  • Restrict menu access based on user roles.
  • Change the WordPress admin theme with custom colors and layouts.

For agencies or developers who want to customize the admin experience for clients.

3. WP Admin UI Customize

Best for: Restructuring the WordPress admin menu and simplifying the interface for clients or teams.

Features:

  • Hide menu items for specific users or roles.
  • Change menu labels and icons.
  • Customize the login page and dashboard widgets.
  • Great for multi-user WordPress setups where different roles need different access levels.

For clients, teams or membership sites that need a clean minimal admin interface.

These plugins are a safe and quick way to manage your WordPress admin menu without touching functions.php and are perfect for beginners and advanced users.

Custom Admin Menu Troubleshooting

Even after adding custom menu changes, you may find that the new order doesn’t show up immediately. Here’s what to try:

1. Clear Browser Cache

  • Your browser may still be caching an old menu.
  • Try refreshing the page or clear your browser’s cache to load the new menu.

2. Disable Caching Plugins

  • If you have a caching plugin like WP Rocket or W3 Total Cache, it may be caching the old menu layout.
  • Clear the cache in your caching plugin settings or temporarily disable the plugin to see if the issue persists.

3. Check Menu Slugs

  • When you reorder menus manually with code, incorrect menu slugs can prevent the changes from taking effect.
  • Double-check the menu slugs in your functions.php file to make sure they match WordPress’s default structure.

4. Disable Conflicting Plugins

  • Some plugins, especially security or admin customization plugins, may override your custom menu settings.
  • Temporarily disable other plugins one by one to see if any are causing issues.

5. Test on a Different User Role

  • If changes apply to the admin role but not to other users, your custom menu settings may be role specific.
  • Log in as a different user role (e.g., Editor) to see if the menu order is applied.

If none of these work, try switching to a default WordPress theme (Twenty Twenty-Four) to see if the issue is theme related.

Conclusion

Ever get lost in the WordPress admin menu? A clean dashboard isn’t just about looks – it’s about productivity and ease of use. Whether you’re a solo dev, an agency or managing client sites customizing your admin menu can save you time and keep the important stuff within reach.

Love coding? Tweaking functions.php gives you total control to reorder items exactly how you like. Prefer a simpler approach? Plugins like Admin Menu Editor, AG Custom Admin and WP Admin UI Customize offer a drag and drop interface to reorder your menu without touching code.

No matter your skill level organizing your admin menu reduces clutter, saves time and creates a better experience for everyone using the site. Ready to take control of your WordPress dashboard? Try these out and let us know how you go!

FAQs: Rearranging Submenus in the WordPress Admin Menu

1. Why would I want to reorder submenus in WordPress

WordPress arranges menus in a standard order but that may not be ideal for you. Reordering submenus can be more productive, make frequently used items more accessible and a cleaner more intuitive interface especially useful for multi user sites and clients.

2. Can I rearrange the WordPress admin menu without coding?

Yes! Plugins like Admin Menu Editor, AG Custom Admin, and WP Admin UI Customize have drag and drop interfaces to reorder, rename or hide admin menu items without coding.

3. What if I mess up functions.php?

Editing functions.php wrong can break your site and give you the “white screen of death”. To prevent this:

  • Use a child theme or a custom plugin for modifications.
  • Always back up your site before making changes.
  • If an error occurs, access your site via FTP or cPanel and revert the changes.

4. How do I find the correct menu slugs to reorder items?

To get menu slugs, go to your WordPress Admin Dashboard → View Page Source (CTRL+U or right-click → View Source). Search for menu_order or check the plugin documentation for specific menu slugs.

5. Why aren’t my menu changes showing up?

If your submenu order isn’t updating try these troubleshooting steps:

  • Clear your browser cache to reload the latest menu structure.
  • Disable caching plugins like WP Rocket or W3 Total Cache, as they might be storing outdated menu layouts.
  • Check for conflicting plugins that might be overriding your menu settings.
  • Double check menu slugs in your code to make sure they are correct.

6. Will menu changes affect all users or just administrators?

By default changes will affect all users with access to the admin menu. However with plugins like Admin Menu Editor Pro you can create custom menu layouts for specific user roles.

Start the conversation.

    Leave a Reply

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

    Recommended articles

    WordPress

    Best WordPress Staging Plugin – Safely Test & Deploy Fast

    James

    Icon

    8 Min Read

    WordPress

    WooCommerce WordPress Not Showing Products on Shop Page?

    Benjamin

    Icon

    6 Min Read

    WordPress

    WordPress Change Order of Submenu in Admin Menu

    Adam

    Icon

    8 Min Read