Throughout the last decade, one of the biggest issues with implementing a WordPress theme has always been the user trying to get their site to look like the theme’s demo created by the author.

WordPress has a default tool to import and export content, but it has always had the same limitations and hasn’t gotten many improvements over the years (for the most part). It doesn’t allow you to import things like theme settings, frontpage settings, and widget configurations, which are all crucial in getting a given website to look like its demo.

Over the years I’ve seen many solutions to this problem by theme authors, mostly consisting of providing completely custom interfaces the user must learn to select from various demos and import them.

But the approach I took to solve this issue for my customers is something I don’t believe I’ve still ever seen any other author do. Basically, I simply extend the default importer of WordPress to allow the user to include additional items that have associated data store in the theme files. While this solution is less fancy than a shiny, new custom interface, I believe it makes the most sense as I’m simply extending a process the user is mostly like already familiar with.

In the end, I believe I’ve done a good job pulling off a simple, natural user experience for something that was actually deceptively complex to develop.

View Project | View Code Repo