Contact Us

If your WordPress menu order is not saving, or menu items keep jumping around after you hit Save Menu, you’re not alone. Thousands of WordPress users face the same frustrating issue — you drag items into the perfect hierarchy, click save… and boom, everything resets.

This problem usually appears when:

  • Menu items rearrange themselves in random order

  • Child items detach from parents

  • WordPress refuses to save changes

  • Menus revert back after refresh

  • Saving takes unusually long

  • You have too many menu items

  • You recently installed a plugin or theme

Good news: you can fix this issue permanently, and this guide will show you exactly how.

This is your Ultimate 2025 WordPress Fix Guide, written in human tone, deeply researched, SEO-optimized, and beginner-friendly — but with expert-level solutions.

Why WordPress Menu Order Is Not Saving

Before fixing the issue, it’s important to understand why it happens. WordPress menus rely on a combination of:

  • PHP settings

  • Database structure

  • jQuery drag-and-drop

  • Theme functions

  • Browser limitations

  • Server timeouts

Below are the most common reasons menu order fails.

1. Too Many Menu Items (The Hidden WordPress Limit)

Most users don’t know this: WordPress and PHP have a built-in limit on how many fields a form can submit.

Menus send LOTS of hidden fields.

If your menu is large (50–200 items), the server rejects part of the request, and WordPress can’t save the order.

The key PHP setting is:

max_input_vars

If this is too low, menu order won’t save.

2. PHP Timeout or Memory Limit Issues

If your server is low-powered or your menu is large, saving can exceed:

  • max_execution_time

  • memory_limit

This causes partial menu saves or failed saves.

3. Theme or Plugin Conflict

Anything that modifies:

  • Menus

  • JavaScript

  • Admin UI

  • Navigation

  • Customizer

…can break drag-and-drop order or saving.

Typical culprits:

  • Mega menu plugins

  • Custom header builders

  • Security plugins

  • Caching plugins

  • jQuery replacement scripts

  • Admin optimization plugins

4. JavaScript Errors in Admin Area

If the admin menu page has JS conflicts, you will notice:

  • Drag-and-drop is slow

  • Menu items don’t “snap” properly

  • Items get stuck or misaligned

  • Save button doesn’t work

5. Browser Caching or Cookies

Yes — sometimes even a browser extension can break WordPress admin.

Especially:

  • Ad blockers

  • Cookie blockers

  • JS optimizer extensions

  • Privacy extensions

6. Database Corruption or Incorrect Menu Item Sorting

Sometimes the database table:

wp_posts

(where menu items are stored) has:

  • incorrect menu_order values

  • conflicting IDs

  • imported menu duplicates

This requires a database-level fix.

How to Fix WordPress Menu Order Not Saving (All Working Methods)

Below are the tested 2025 solutions. Start from Method 1 and move down until your issue is fixed.

Method 1: Increase max_input_vars (Most Common Fix)

This solves the issue for 80%+ of users.

Set max_input_vars to 5000 or more.

If you have access to php.ini

Add:

max_input_vars = 5000
max_execution_time = 300
memory_limit = 512M
post_max_size = 64M

Restart Apache/Nginx after changes.

If using .htaccess (Apache only)

Add:

php_value max_input_vars 5000
php_value max_execution_time 300
php_value memory_limit 512M

If using wp-config.php

Add just before “That’s all, stop editing!”:

@ini_set( 'max_input_vars', 5000 );
@ini_set( 'max_execution_time', 300 );
@ini_set( 'memory_limit', '512M' );

If using cPanel or CyberPanel

Go to:

PHP Settings → Editor → max_input_vars = 5000

Apply and save.

Method 2: Disable Plugins That Modify Menus

Temporarily disable these categories:

  • Mega menu plugins

  • Page builders with header features (Elementor/Divi)

  • Security plugins

  • Cache/minify plugins

  • Custom admin UI plugins

Step-by-step:

  1. Go to Plugins → Installed Plugins

  2. Bulk select all

  3. Disable (temporarily)

  4. Test menu saving

  5. Enable one by one to find the culprit

Method 3: Switch to a Default Theme

Switch to:

  • Twenty Twenty-Four

  • Twenty Twenty-Five

Then test.

If the issue disappears, your theme has:

  • Old Walker class

  • Bad jQuery

  • Wrong menu filters

  • Broken customizer scripts

Method 4: Check for JavaScript Errors

Open DevTools on the menu page:

Right-click → Inspect → Console

If you see errors like:

  • jQuery undefined

  • Unexpected token

  • TypeError…

  • Uncaught ReferenceError…

Then a plugin or theme is breaking admin JS.

To fix:

  1. Disable scripts optimizer plugins

  2. Turn off admin minification

  3. Clear cache

  4. Disable conflicting plugins

Method 5: Clear Browser Cookies, Cache, and Extensions

Try:

1. Incognito Mode

If it works → browser issue.

2. Disable Extensions

Especially:

  • AdBlock

  • Privacy Badger

  • uBlock

  • Ghostery

  • ScriptSafe

3. Clear Cookies

Some cookies break drag-and-drop.

Method 6: Increase PHP Memory Limit

Low memory breaks menu saving.

Add to wp-config.php:

define( 'WP_MEMORY_LIMIT', '512M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

Method 7: Fix Database Menu Order Values

Each menu item is stored as a post with:

  • post_type = nav_menu_item

  • menu_order = value

Sometimes these values get corrupted.

SQL Fix:

UPDATE wp_posts
SET menu_order = ID
WHERE post_type = 'nav_menu_item';

This resets menu order to default and removes corruption.

Method 8: Delete Duplicate Menu Items

If you imported demo data, duplicates cause save issues.

Go to:

Appearance → Menus → Screen Options → Show advanced menu properties

Check:

  • CSS Classes

  • Link Target

  • Description

  • Title Attribute

Now look for duplicates and delete them.

Method 9: Move Large Menus to Separate Menu Locations

If your menu has 100+ items, split it:

Example:

  • Main Menu (Top level items)

  • Second Menu (Services or Categories)

  • Footer Menu (Bottom links)

This avoids hitting max_input_vars again.

Method 10: Use WP-CLI to Reset Menu Cache

Run:

wp transient delete --all

Then:

wp cache flush

Method 11: Update WordPress Core

If you are below WordPress 6.x, admin menu scripts may be outdated.

Go to:

Dashboard → Updates

Update WordPress Core.

Method 12: Regenerate Menu Using Export/Import (Advanced)

If the menu structure is too corrupted:

  1. Go to Tools → Export

  2. Export only “Navigation Menu Items”

  3. Delete old menu

  4. Import file

  5. Create new menu location

This recreates a clean database record.

Recommended Permanent Settings (Copy Paste)

Add the following to your .htaccess, php.ini or wp-config.php:

max_input_vars = 8000
max_input_time = 300
max_execution_time = 300
memory_limit = 512M
post_max_size = 64M
upload_max_filesize = 64M

This ensures menu issues never return.

Bonus: Debug Script to Log Menu Item Errors

Add to functions.php:

add_action( 'admin_init', function() {
if ( isset( $_POST['menu'] ) ) {
error_log( 'Menu saving attempted. Items: ' . count( $_POST ) );
}
});

You can check logs for server-side limits.

Conclusion

If your WordPress menu order is not saving, the fix is almost always upgrading PHP limits — especially max_input_vars.

However, plugin conflicts, theme issues, JS errors, and large menus can also block WordPress from saving your changes.

By following the methods above, you can guarantee:

  • Menu order saves properly

  • Child/parent items stay in position

  • No more resets after refresh

  • WordPress menus perform faster

  • Fewer admin errors

This guide gave you every professional fix that WordPress developers use in 2025 — and now you can apply them easily.

Frequently Asked Questions

1. Why is my WordPress menu not saving changes?

Because your server is blocking the request due to low max_input_vars, plugin conflict, theme conflict, or JS errors.

2. What should max_input_vars be for large menus?

At least 5000, but 8000 is recommended.

3. Will changing themes fix menu order issues?

Yes, if your theme uses outdated menu walkers or broken scripts.

4. Why do my child menu items keep detaching?

This happens when JS errors prevent WordPress from saving menu hierarchy.

5. Can caching plugins cause menu issues?

Yes — especially if they minify admin scripts.

6. Where are WordPress menu items stored?

In the database table wp_posts with post_type = nav_menu_item.

Subscribe To Our Newsletter & Get Latest Updates.

Copyright @ 2025 WPThrill.com. All Rights Reserved.