Customizer: Can’t Save Changes or Refresh is not Triggered
When working on a Layers page in the Customizer or editing an existing Layers page with a lot of content, you will make a change but the refresh will not happen (or happens after a very long delay) and the Save Changes button is disabled or grayed out. Examples of edits that might fail to trigger a save in this case:
- Clicking into a Title field and changing a letter
- Changing background color
- Trying to switch back to editor view from code view
- Dragging slides or columns around
This is most often the cause of a server-side error related to your PHP configuration, triggered by too much widget data. More than 10 widgets in a page, or 20 columns in a Content Widget etc can generate more data than your server is setup to allow, or your PHP version may be outdated and unable to interpret the instructions it is receiving.
Error: POST variable limit exceeded or variable name lenth exceeded
- Ensure you are on the latest Layers version, and all extensions have been updated.
- Deactivate plugins. Extensions that are more than 2 months outdated should be deactivated until an update is available. See Troubleshooting Customizer Performance for detailed steps to troubleshoot plugins to ensure none of them is the cause.
- Contact your host to inquire about the following:
- PHP version should be 5.6
- PHP safe_modeshould be off
- Increase memory limits. Not all hosts will agree to this, in which case you should check out How to Speed Up My Website and consider a WordPress host. You may also reduce the amount of information on one page, or divide widgets with a huge number of columns between two widgets (remove the top margin and padding under Advanced from the second widget)
Increasing Memory & Var Limits
If you have access to your php.ini, you can try the following adjustments – note this is advice only and you do it at your own risk. We recommend this primer on the PHP config if you have no idea what you’re doing. Your host may also offer additional documentation on finding and configuring this file.
- Locate or download a copy of your php.ini and open it in a plain text editor
- Use Cmd+F/Ctrl+F to find
- By default this is commented out and set to 1000.
;max_input_vars = 1000
- Remove the semicolon and change the number to 2000 to start.
max_input_vars = 2000
- Save your changes and connect to your server.
- Rename the old php.ini to php.ini.old.
- Upload the changed php.ini file to replace the one you just renamed.
- Reboot your server. If you do not have access to reboot, you may have to wait up to 24 hours or request your host restart it.