Fix Broken Oxygen Builder Selectors from a Database Backup
Your Oxygen Builder selectors can vanish if two builder windows save the same site. Restoring the full site is not an option when the site has taken orders or other changes since your last good backup. In this video we fix broken Oxygen selectors by copying only the selector rows from an old database backup into the live wp_options table, so everything else in the database stays as it is.
What causes broken selectors in Oxygen
If you don't know what caused the problem, you can't avoid it next time. In our case we had Oxygen Builder open in two browser windows, made changes in both and saved in both. After that, the Selectors panel was almost empty and the builder showed a red error that some items failed to load.
Other causes are possible, but two open editors on the same site is the usual one. Keep one Oxygen editor open per site.
Why a full restore is the wrong fix here
On a small brochure site you can restore yesterday's backup and move on. On a shop, a full restore also rolls back every order, payment and settings change made since that backup. We only wanted the selectors back, so we restored just those rows.
Compare the broken site with the backup
Before you touch the database, make sure the backup still has the selectors. We ran the broken site and the backup as two separate local sites and opened both in Oxygen.
- On the broken site, open Oxygen and click Selectors. Almost everything is gone and only Uncategorized is left.
- On the backup site, open Oxygen and click Selectors. The full list of selectors and folders is still there.
Open both databases and find the Oxygen rows
Oxygen saves selectors as rows in the wp_options table, so you can move those rows by themselves. We used Sequel Pro to connect to both local databases (running in Local by Flywheel).
- Open the backup (good) database and select the
wp_optionstable. - Go to the Content tab and sort by option_name.
- Open the broken database in a second window, select
wp_options, open Content and sort by option_name again. - Scroll down to the Oxygen rows that start with
ct_. On screen these includect_components_classes,ct_custom_selectors,ct_style_foldersandct_style_sets.
Copy the selector rows into the broken database
This is the step where you actually recover the selectors. In the video, four rows are replaced one by one.
- In the backup database, open the
option_valueof a selector row and copy all of it. - In the broken database, find the row with the same
option_nameand paste the value there. - Repeat for each selector row, including the settings and folders rows.
Double-check that each value goes into the row with the matching option_name. Pasting into the wrong row causes a new problem.
Confirm the selectors are back
Go back to the broken site and refresh the Oxygen editor. The Selectors panel shows the full list again. Since only those rows changed, orders, users and all other settings are untouched.
Who is this for
- Oxygen Builder users whose Selectors panel is suddenly empty or throws a loading error
- Shop or membership site owners who can't roll back the whole database without losing orders or user data
- Developers who have a database backup and can use a MySQL client such as Sequel Pro
FAQ
Why did my Oxygen selectors disappear? In our case it happened because Oxygen Builder was open in two windows on the same site and both saved changes. Other causes are possible, but this is the most common one.
Can I restore only Oxygen selectors without restoring the whole site?
Yes. The selectors live in ct_ rows in wp_options. Copy those rows' option_value from a working backup into the live database and nothing else changes.
Which database rows hold Oxygen selectors?
In the video we sort wp_options by option_name and work with the Oxygen ct_ rows, such as ct_components_classes, ct_custom_selectors, ct_style_folders and ct_style_sets.
Will I lose WooCommerce orders or users with this method? No. Only the selector rows are overwritten. Orders, users and other settings stay as they are, which is the reason to use this method on a shop instead of a full restore.
What tool do I need? Any MySQL client that can open two databases and edit table rows. We used Sequel Pro with Local by Flywheel.