Many theme authors (ourselves included) are adopting the WordPress Customizer because of its powerful live editing and customization options. We hope all themes will eventually adopt the customizer as having a standard interface for theme settings will drastically lower the learning curve of working with a new theme.
While the customizer is wildly powerful, it lacks the ability to export/import your settings. Enter our new WordPress Customizer Export/Import plugin:
We’ve been spending a lot of time in the customizer lately as we work on migrating the Beaver Builder’s theme settings experience over to it. In doing so, we realized one thing. The customizer standardizes a lot of the complexities of working with theme settings, but it's missing a good export/import piece. Instead of baking that functionality into our theme, we decided to abstract it into a plugin that anyone with a theme that supports the customizer could use!
Additionally, theme developers wishing to adopt the customizer no longer need to worry about writing custom export/import functionality. Just direct your users to install and activate this plugin and they will be good to go!
Export Your Own Presets
One of the biggest benefits of this plugin, is the ability to export and reuse your own theme presets on any number of sites or share them with others. Your theme may or may not have it’s own presets built in, but now, that doesn’t matter. Tweak your theme until it’s perfect, export the settings, and the next time you need that style, it will be available to you at the click of a button!
How It Works
Exporting your customizer settings is drop dead simple. Just click the export button from within the customizer and a file will automatically begin downloading with your settings. Export files are named after your theme and can only be used to import settings for the theme or child theme that they came from. For developers reading this, export files contain a serialized dump of mods retrieved using the get_theme_mods function. It's that simple!
Importing your customizer settings is just as simple. Choose the export file you would like to import, select whether you would like to download and import images as well (similar to importing posts), and finally, click the import button. Once your settings have been imported, the page will refresh and your new design will be displayed.
The only requirement to use this plugin is that your theme uses the WordPress customizer to handle its settings. If it doesn’t, the plugin will still work, but your exports will be void of any settings.
We’ve tested it with many popular themes that use the customizer including Genesis, Make, and Twenty Fifteen, and it works great! It’s impossible for us to test everything, so let us know if you run into an issue and we’ll look into it for a future release.
What It Doesn’t Do
This simple plugin does a lot, but there are a few things that it currently doesn't do. It doesn't export any settings that aren't stored in the database as theme mods, which means that it doesn't currently export widgets or settings such as the built-in “Site Title & Tagline”.
Additionally, any custom settings created by theme developers that are defined as options instead of mods, won't be exported. We're not yet sure if that functionality is necessary and will be keeping an eye on feedback to see if it's something we want to implement in the future.
The Customizer Export/Import plugin is still a baby and probably has a few rough edges or is lacking important functionality. We'd love to hear your feedback as to how we could improve it, or better yet, see theme developers actively contributing to the repo on GitHub! Don't hesitate to let us know if you're interested in contributing as we would gladly have others on board.
The WordPress customizer has grown by leaps and bounds since it's inception and is only going to get better as time goes on. I'm excited to see how this plugin is received and hope that many of you can find a good use for it. Have you had any experience with the customizer yet? Do you think this plugin will be a valuable addition to your toolbox? Let us know in the comments below!