Have you reached the max items menu limit on WordPress? When you add more than a certain amount of menu items do they just delete on saving? This tutorial will show you to increase this limit and explain what’s causing it.
Why Can’t I Add More Menu Items?
The reason that you can’t add any more menu items to your WordPress menus is because of your server settings. There was a new php.ini option added called max_input_vars in the PHP 5.3.9 update. Max_input_vars controls the maximum amount of input variables. This is to help protect against denial of service attacks. Most servers will be set to ‘1000’ max_input_vars, this is roughly around 90 menu items.
How To Tell What Your max_input_vars Value is?
The best way to tell what your max_input_vars is to create a phpinfo.php file and upload it on your server. The phpinfo file will tell you what your php server settings are.
- Create a file called phpinfo.php
- Add this line of code into the phpinfo.php file
<?php phpinfo(); ?>
- Upload phpinfo.php to your server
- Navigate to where you uploaded it on your server for example www.example.com/phpinfo.php
- Scroll down to till you find max_input_vars and the number beside it is what your server will be set at.
**It’s good practice to delete this file after as you don’t want others to see it**
How To Check Your Menu Items Limit With Woocommerce
Alternatively if you have woocommerce installed you can check by:
- Logging to the WordPress admin section
- Go to Woocommerce
- Then click on system status
- Scroll down until you see PHP Max Input Vars
Increasing Your Max_input_vars Value
The best way I’ve found to increase your max_input_vars value is to:
- Connect to your site via FTP or File Manager
- Navigate to wp-admin folder
- Create a file inside the wp-admin folder called php.ini
- Add in this line:
max_input_vars = 5000
Check To See If Your Max_input_vars Has Changed
Finally check to see it has worked and if you need to add more menu items just increase the max_input_vars value to whatever you need.
**It’s good practice to delete the phpinfo.php file after as you don’t want others to see it**