I turned on Debuging -> Show menu access checks, and it shows:
Admin Menu Editor security log
Current user can edit the admin menu.
Warning: reverse_item_lookup is empty!
Warning: reverse_item_lookup is empty!
This is probably a server configuration issue of some kind. There are several possibilities:
- PHP errors, especially out-of-memory errors. Please check the PHP error log for recent error messages. The message(s) may not mention this plugin; look for entries where the timestamp matches the time when you tried to save the menu. If you see a message like “memory limit exceeded”, try increasing the PHP memory limit.
- Poorly configured firewall. Is your server running
mod_security or anything similar? In some cases, the firewall can block attempts to save menu settings because it thinks the menu data is either too large or contains suspicious keywords. Check the firewall logs. If you find out that it’s blocking requests sent to the menu editor page (options-general.php?page=menu_editor), either disable the offending firewall rules or add the page to the whitelist.
- Low request size limits. The menu data can get pretty large: 100 KiB or more. Some servers have low POST request size limit and will block any request that exceeds the limit. Check the size limits in the server configuration and increase them if necessary.