Demo Import Issues in My WordPress Theme Submission to ThemeForest

Hi everyone,

I recently built a WordPress theme and submitted it to ThemeForest, but it was rejected due to demo import issues. I checked my theme using the Envato Theme Check plugin and Theme Check by Simon Prosser, but I couldn’t find any issues.

The main problems I’m facing with demo import are:

  • Elementor global colors and fonts are not loading after importing the demo content.
  • The import process takes too long and does not show any progress indication.
  • I used One Click Demo Import for handling demo data import, but it’s not working as expected.

Additionally, I want to allow users to import a specific homepage instead of all pages at once. I have six homepage designs, but when I export content via Tools → Export, it includes all pages rather than just one.

Could anyone guide me on how to:

  1. Properly set up demo import so that Elementor global colors and fonts load correctly?
  2. Optimize the import process to improve speed and show progress?
  3. Allow users to import a specific homepage instead of all pages?

Any help or suggestions would be greatly appreciated!

Thanks in advance.

Hey! Your ThemeForest rejection over demo import issues is fixable. Let’s solve your three problems fast.

For Elementor global colors and fonts not loading with One Click Demo Import, export the Default Kit from Elementor Site Settings as a JSON file via Tools Export Kit. Add it to your OCDI setup in functions.php with ‘options’ => ‘path/to/kit.json’. Check Elementor Settings to disable default colors and fonts. Test locally to confirm globals load.

For slow imports with no progress, split your content.xml into smaller files using WP All Export and skip media. Boost PHP settings: max_execution_time to 300, memory_limit to 256M, max_input_time to 300. Add progress logging in functions.php via ocdi/import_progress with AJAX. Test with a small demo.

For importing one homepage instead of all, set up OCDI in functions.php with separate arrays like ‘demo1’ => array(‘title’ => ‘Homepage 1’, ‘content’ => ‘path/to/home1.xml’) for each of your six designs. Export each homepage alone from Tools Export. Users then pick one in Appearance Import Demo Data. Test each file.

Apply these, recheck with Envato Theme Check, and resubmit. Let me know if you need more! What’s your theme about?

Hi developerselectronthemes,

It sounds like you’re dealing with a few common demo import challenges in WordPress themes, especially with Elementor and One Click Demo Import. Here are some ways to fix these issues:

  1. Elementor Global Colors & Fonts Not Importing
    Elementor stores global settings in the database, separate from regular content. To ensure these settings import correctly:

Use an Elementor Kit Export: Instead of relying only on One Click Demo Import, try exporting your Elementor settings separately via Elementor → Tools → Import/Export Kit.

Check Theme Code: Ensure your theme’s functions.php includes support for elementor-kit when exporting.

Manually Reset After Import: If needed, instruct users to go to Elementor → Site Settings and reapply global colors/fonts.

  1. Slow Import & No Progress Indication
    The import process may be slow due to:

Large Media Files: If you’re including heavy images, optimize them before packaging.

Execution Time Limits: Increase PHP limits (max_execution_time, memory_limit, upload_max_filesize) in php.ini.

AJAX Handling: Ensure your AJAX request in One Click Demo Import has proper response handling to display progress updates.

  1. Importing a Specific Homepage Only
    By default, WordPress’s Tools → Export includes all pages, but you can refine this:

Use Customizer Export/Import Plugin to allow users to import settings for a specific page.

Use a manual JSON export in Elementor (Edit the homepage → Save as Template → Export JSON). Then provide users with a way to import it.

If using One Click Demo Import, adjust your import file so it only includes the desired homepage. You can manually modify your import_file array to target a specific page.