Update to 1.6.0 Lost All Theme Options

Using a child theme. Updated to Unite 1.6.0 and all settings under “Theme Options” were reset to their defaults and widget settings were lost as well. I rolled back to 1.4.5 and everything looked to be in place, then ran the update at everything was lost again.

Unfortunately, I don’t believe you :slight_smile:

All settings added inside Theme Options are saved in wp_options table under unite options name. Which means that you can delete this theme, disable this theme or do whatever you want with it and all settings will be still there once you install or enable it again. The only way to remove these options are by clicking “Restore Defaults” button that you can see inside Theme Options.

If you were using this theme under different name or different folder name. Then it’s whole other story. Otherwise it is not possible because files are files and database is database.

Let me know if this is the case.

The website is using a child theme, if that counts as changing the name or folder name. Other than that, nothing was changed and nobody would have reset to the default settings under the Theme Options.

To test, I had uploaded the old version of the theme and everything went back to the way it should have, performed the update, and it broke again.

Sorry if you don’t believe me - trying to bring an issue to your attention; up to you whether or not you want to investigate it…

Forgot to mention that menu and widgets are saved under theme_mods_unite inside wp_options table. And as you can see it is also saved under theme name, so will remain unchanged after updates. This part is controlled by WordPress and not theme and even “Reset Defaults” won’t reset these settings.

Child Theme is counted as different theme and all Theme Options and widgets are lost once you switch to it. because it uses a different name unite_child and no longer unite. Maybe that’s what causes this problem?

The child theme folder name is kwne-unite and hasn’t changed. Again, all that was changed was that parent theme was updated. Nobody switched themes or changed any settings. Parent theme was updated and all settings lost. The settings were originally made when using the child theme, so in theory (and in every other website I’ve designed) using a child themes is a must to avoid changes being lost when updating the parent theme.

Check wp_options table inside your website database to see under what names all settings were saved and where they are now. There is no way they could disappear from database as there is no functionality in WordPress that could do that and everything is based on option IDs (none of them were changed or even touched on this update) and theme name.

If they don’t much with ones you were using before then nothing will show up but they can’t magically disappear from database without user doing something from his side.

Not sure what option name(s) I should be looking for. Ideas?

By default all settings are saved inside wp_options table under and options_name is unite for Theme Options and theme_mods_unite for menu and widgets. For child theme it should be something like theme_mods_unite-child. First is set by theme and second one is set but WordPress itself.

However, in your case it could be different as you were using different name for child theme. Also you can search for option IDs that you can find here.

Will try to check into it, but FYI I’m doing a development website (completely different site) with a child theme for Sparkling, just updated the parent to the most recent version and the exact same issue happened. Any change that was made recently to all your theme’s latest versions? I swear I’m not doing anything out of the ordinary here…

In this latest case, the option_name has to be sparkling even though the child theme is activated. Just for kicks I activated the parent theme and those settings don’t work even though the option name is sparkling… Seems backwards somehow.

Kyle you are not alone - I have the exact same problem.

I am using a child theme for some CSS alts, I do an update but all of the Colorlib Theme settings I made in Theme Options are gone. No other changes have been made anywhere else.

Finally found what is going on.

This was caused by Options Framework as it have changed the way settings are stored inside database. Instead of using different options name for Parent Theme and Child Theme now it uses the same name. Which means that the same options will be there once you switch from Parent Theme to Child Theme as they are stored at the same place.

It will now be much easier to switch from a fully configured Parent Theme to a Child Theme from now on. However, there is no way to automatically revert your previous Settings and you will have to do it manually but from there you won’t have any problems in the future as this change is permanent. All old settings are still stored in database but just in different table, so you can install older version version of theme and take a note for your settings and configure the most current version again.

Sorry for inconvenience.

Hi Aigars,
I experienced the same issue as described above. I m trying to update the Unite’s parent theme but all theme options in the child theme are lost after that. A simple restore of themes reverts that problem.

Just to be clear as I dont 100% follow your answer above. Is there any solution or do we have to manually amend all the theme options after updating the parent theme?
Many thanks!

@mamamu

Since most changes that you can make for themes are CSS based then you can revert back to previous version of this theme and copy Custom CSS that is printed inside website source. Once you have copied this code add it inside Custom CSS field in Theme Options and you will be good to go.

Probably not the easiest method but still might work well for some.

@mamamu

Hey Aigars, I think that misses the mark - the issue has to do Options Framework, then the customized CSS of the child theme has nothing to do with this issue. It’s been a while since I last looked at this, but I believe there was a 1 step fix I found which involves a manual update to a database field.

Fix: Search wp_options.option_name for the option_name similar to theme_mods_unite_child (best to search wildcard for theme_mods%). Update to something like theme_mods_unite (referencing the parent theme instead of the child theme).

In my case that restored everything. Please feel free to correct and/or elaborate since I’m going off of my memory from about 2 weeks ago. Let me know if that does the trick.

@kylewhenderson

Thank you for suggestion!

For those not familiar with database it might be tricky to process it. It opens a huge area for errors. You can’t seriously mess things up with CSS but you can kill your entire website when trying to edit its database. This solution works but I wouldn’t recommend it for most users. I can get away with missing theme options but I won’t get away with corrupted database where potentially can be stored years of work with no backups. :slight_smile:

It is easier is to just copy/paste CSS that is generated by Theme Options (most Theme Options are color variations anyway) + Custom CSS field. All this is printed inside website source and easy to find and copy without any risk to break things.