Theme Demo Import
by themely 3 (4 reviews)

Theme Demo Import

Quickly import demo content, widgets and settings in one click. Made for theme authors to simplify importing demo content for their users.

Tested up to WP 6.5.8 (Current: 6.9.4)
v1.1.3 Current Version v1.1.3
Updated 1 year ago Last Update on 03 Jul, 2024
Refreshed 6 hours ago Last Refreshed on
Rank
#3,165
No change
Active Installs
5K+
-15%
KW Avg Position
N/A
No change
Downloads
258.5K
+1 today
Support Resolved
0%
No change
Rating
60%
Review 3 out of 5
3 (4 reviews)

Next Milestone 6K

Total Progress 76%
5K+ 6K+
67
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 240 more installs to reach 6K+

Rank Changes

3,000 3,081 3,162 3,242 3,323 29-03-2026 30-03-2026 31-03-2026 01-04-2026 02-04-2026 03-04-2026 04-04-2026 05-04-2026
3,145 3,151 3,158 3,164 3,170 21-03-2026 22-03-2026 23-03-2026 24-03-2026 25-03-2026 26-03-2026 27-03-2026 28-03-2026 29-03-2026 30-03-2026 31-03-2026 01-04-2026 02-04-2026 03-04-2026 04-04-2026 05-04-2026
3,128 3,139 3,149 3,160 3,170 06-03-2026 07-03-2026 08-03-2026 09-03-2026 10-03-2026 11-03-2026 12-03-2026 13-03-2026 14-03-2026 15-03-2026 16-03-2026 17-03-2026 18-03-2026 19-03-2026 20-03-2026 21-03-2026 22-03-2026 23-03-2026 24-03-2026 25-03-2026 26-03-2026 27-03-2026 28-03-2026 29-03-2026 30-03-2026 31-03-2026 01-04-2026 02-04-2026 03-04-2026 04-04-2026 05-04-2026
3,080 3,104 3,128 3,152 3,176 05-01-2026 06-01-2026 07-01-2026 08-01-2026 09-01-2026 10-01-2026 11-01-2026 12-01-2026 13-01-2026 14-01-2026 15-01-2026 16-01-2026 17-01-2026 18-01-2026 19-01-2026 20-01-2026 21-01-2026 22-01-2026 23-01-2026 24-01-2026 25-01-2026 26-01-2026 27-01-2026 28-01-2026 29-01-2026 30-01-2026 31-01-2026 01-02-2026 02-02-2026 03-02-2026 04-02-2026 05-02-2026 06-02-2026 07-02-2026 08-02-2026 09-02-2026 10-02-2026 11-02-2026 12-02-2026 13-02-2026 14-02-2026 15-02-2026 16-02-2026 17-02-2026 18-02-2026 19-02-2026 20-02-2026 21-02-2026 22-02-2026 23-02-2026 24-02-2026 25-02-2026 26-02-2026 27-02-2026 28-02-2026 01-03-2026 02-03-2026 03-03-2026 04-03-2026 05-03-2026 06-03-2026 07-03-2026 08-03-2026 09-03-2026 10-03-2026 11-03-2026 12-03-2026 13-03-2026 14-03-2026 15-03-2026 16-03-2026 17-03-2026 18-03-2026 19-03-2026 20-03-2026 21-03-2026 22-03-2026 23-03-2026 24-03-2026 25-03-2026 26-03-2026 27-03-2026 28-03-2026 29-03-2026 30-03-2026 31-03-2026 01-04-2026 02-04-2026 03-04-2026 04-04-2026 05-04-2026
Current #3,165
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

0 10 20 30 29-03-2026 30-03-2026 31-03-2026 01-04-2026 02-04-2026 03-04-2026 04-04-2026 05-04-2026
0 10 20 30 21-03-2026 22-03-2026 23-03-2026 24-03-2026 25-03-2026 26-03-2026 27-03-2026 28-03-2026 29-03-2026 30-03-2026 31-03-2026 01-04-2026 02-04-2026 03-04-2026 04-04-2026 05-04-2026
0 10 20 30 06-03-2026 07-03-2026 08-03-2026 09-03-2026 10-03-2026 11-03-2026 12-03-2026 13-03-2026 14-03-2026 15-03-2026 16-03-2026 17-03-2026 18-03-2026 19-03-2026 20-03-2026 21-03-2026 22-03-2026 23-03-2026 24-03-2026 25-03-2026 26-03-2026 27-03-2026 28-03-2026 29-03-2026 30-03-2026 31-03-2026 01-04-2026 02-04-2026 03-04-2026 04-04-2026 05-04-2026
0 10 20 30 05-01-2026 08-01-2026 11-01-2026 14-01-2026 17-01-2026 20-01-2026 23-01-2026 26-01-2026 29-01-2026 01-02-2026 04-02-2026 07-02-2026 10-02-2026 13-02-2026 16-02-2026 19-02-2026 22-02-2026 25-02-2026 28-02-2026 03-03-2026 06-03-2026 09-03-2026 12-03-2026 15-03-2026 18-03-2026 21-03-2026 24-03-2026 27-03-2026 30-03-2026 02-04-2026 05-04-2026
0 100 200 300 400 500 600 05-04-2025 17-04-2025 29-04-2025 11-05-2025 23-05-2025 04-06-2025 16-06-2025 28-06-2025 10-07-2025 22-07-2025 03-08-2025 15-08-2025 27-08-2025 08-09-2025 20-09-2025 02-10-2025 14-10-2025 26-10-2025 07-11-2025 19-11-2025 01-12-2025 13-12-2025 25-12-2025 06-01-2026 18-01-2026 30-01-2026 11-02-2026 23-02-2026 07-03-2026 19-03-2026 31-03-2026 05-04-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

3.0
4 reviews
Overall 60%
5
2 (50%)
4
0 (0%)
3
0 (0%)
2
0 (0%)
1
2 (50%)

Tracked Keywords

Showing 0 of 0
Keyword Position Change Type Updated
No keyword data available yet.

Unlock Keyword Analytics

Track keyword rankings, search positions, and discover new ranking opportunities with a Pro subscription.

  • Full keyword position tracking
  • Historical ranking data
  • Competitor keyword analysis
Upgrade to Pro

Track This Plugin

Get detailed analytics, keyword tracking, and position alerts delivered to your inbox.

Start Tracking Free

Plugin Details

Version
1.1.3
Last Updated
Jul 03, 2024
Requires WP
4.7+
Tested Up To
6.5.8
PHP Version
5.6 or higher
Author
themely

Support & Rating

Rating
★ ★ ★ ☆ ☆ 3
Reviews
4
Support Threads
0
Resolved
0%

Keywords

Upgrade to Pro

Unlock keyword rankings, search positions, and detailed analytics with a Pro subscription.

Upgrade Now

Frequently Asked Questions

Common questions about Theme Demo Import

You will find the import page in wp-admin -> Appearance -> Import Demo Content.
The files used in the demo import will be saved to the default WordPress uploads directory. An example of that directory would be: ../wp-content/uploads/2016/03/. The log file will also be registered in the wp-admin -> Media section, so you can access it easily.
This question is for theme authors. To predefine demo imports, you just have to add the following code structure, with your own values to your theme (using the theme-demo-import/import_files filter): function TDI_import_files() { return array( array( 'import_file_name' => 'Demo Import 1', 'import_file_url' => 'http://www.your_domain.com/tdi/demo-content.xml', 'import_widget_file_url' => 'http://www.your_domain.com/tdi/widgets.json', 'import_customizer_file_url' => 'http://www.your_domain.com/tdi/customizer.dat', 'import_preview_image_url' => 'http://www.your_domain.com/tdi/preview_import_image1.jpg', 'import_notice' => __( 'After you import this demo, you will have to setup the slider separately.', 'your-textdomain' ), ), array( 'import_file_name' => 'Demo Import 2', 'import_file_url' => 'http://www.your_domain.com/tdi/demo-content2.xml', 'import_widget_file_url' => 'http://www.your_domain.com/tdi/widgets2.json', 'import_customizer_file_url' => 'http://www.your_domain.com/tdi/customizer2.dat', 'import_preview_image_url' => 'http://www.your_domain.com/tdi/preview_import_image2.jpg', 'import_notice' => __( 'A special note for this import.', 'your-textdomain' ), ), ); } add_filter( 'theme-demo-import/import_files', 'TDI_import_files' ); You can set content import, widgets, and customizer import files. You can also define a preview image, which will be used only when multiple demo imports are defined, so that the user will see the difference between imports.
You can do that, with the theme-demo-import/after_import action hook. The code would look something like this: function TDI_after_import_setup() { // Assign menus to their locations. $main_menu = get_term_by( 'name', 'Top Menu', 'nav_menu' ); set_theme_mod( 'nav_menu_locations', array( 'primary-menu' => $main_menu->term_id, ) ); // Assign front page and posts page (blog page). $front_page_id = get_page_by_title( 'Home' ); $blog_page_id = get_page_by_title( 'Blog' ); update_option( 'show_on_front', 'page' ); update_option( 'page_on_front', $front_page_id->ID ); update_option( 'page_for_posts', $blog_page_id->ID ); } add_action( 'theme-demo-import/after_import', 'TDI_after_import_setup' );
You have to use the same filter as in above example, but with a slightly different array keys: local_*. The values have to be absolute paths (not URLs) to your import files. To use local import files, that reside in your theme folder, please use the below code. Note: make sure your import files are readable! function TDI_import_files() { return array( array( 'import_file_name' => 'Demo Import 1', 'local_import_file' => trailingslashit( get_template_directory() ) . 'tdi/demo-content.xml', 'local_import_widget_file' => trailingslashit( get_template_directory() ) . 'tdi/widgets.json', 'local_import_customizer_file' => trailingslashit( get_template_directory() ) . 'tdi/customizer.dat', 'import_preview_image_url' => 'http://www.your_domain.com/tdi/preview_import_image1.jpg', 'import_notice' => __( 'After you import this demo, you will have to setup the slider separately.', 'your-textdomain' ), ), array( 'import_file_name' => 'Demo Import 2', 'local_import_file' => trailingslashit( get_template_directory() ) . 'tdi/demo-content2.xml', 'local_import_widget_file' => trailingslashit( get_template_directory() ) . 'tdi/widgets2.json', 'local_import_customizer_file' => trailingslashit( get_template_directory() ) . 'tdi/customizer2.dat', 'import_preview_image_url' => 'http://www.your_domain.com/tdi/preview_import_image2.jpg', 'import_notice' => __( 'A special note for this import.', 'your-textdomain' ), ), ); } add_filter( 'theme-demo-import/import_files', 'TDI_import_files' );
This question might be asked by a theme author wanting to implement different after import setups for multiple predefined demo imports. Lets say we have predefined two demo imports with the following names: 'Demo Import 1' and 'Demo Import 2', the code for after import setup would be (using the theme-demo-import/after_import filter): function TDI_after_import( $selected_import ) { echo "This will be displayed on all after imports!"; if ( 'Demo Import 1' === $selected_import['import_file_name'] ) { echo "This will be displayed only on after import if user selects Demo Import 1"; // Set logo in customizer set_theme_mod( 'logo_img', get_template_directory_uri() . '/assets/images/logo1.png' ); } elseif ( 'Demo Import 2' === $selected_import['import_file_name'] ) { echo "This will be displayed only on after import if user selects Demo Import 2"; // Set logo in customizer set_theme_mod( 'logo_img', get_template_directory_uri() . '/assets/images/logo2.png' ); } } add_action( 'theme-demo-import/after_import', 'TDI_after_import' );
Of course you can, use the theme-demo-import/before_widgets_import action. You can also target different predefined demo imports like in the example above. Here is a simple example code of the theme-demo-import/before_widgets_import action: function TDI_before_widgets_import( $selected_import ) { echo "Add your code here that will be executed before the widgets get imported!"; } add_action( 'theme-demo-import/before_widgets_import', 'TDI_before_widgets_import' );
You can change the plugin intro text by using the theme-demo-import/plugin_intro_text filter: function TDI_plugin_intro_text( $default_text ) { $default_text .= '<div class="TDI__intro-text">This is a custom text added to this plugin intro text.</div>'; return $default_text; } add_filter( 'theme-demo-import/plugin_intro_text', 'TDI_plugin_intro_text' ); To add some text in a separate "box", you should wrap your text in a div with a class of 'TDI__intro-text', like in the code example above.
This will greatly improve the time needed to import the content (images), but only the original sized images will be imported. You can disable it with a filter, so just add this code to your theme function.php file: add_filter( 'theme-demo-import/regenerate_thumbnails_in_content_import', '__return_false' );
As a theme author you do not like the location of the "Import Demo Content" plugin page in Appearance -> Import Demo Content? You can change that with the filter below. Apart from the location, you can also change the title or the page/menu and some other parameters as well. function TDI_plugin_page_setup( $default_settings ) { $default_settings['parent_slug'] = 'themes.php'; $default_settings['page_title'] = esc_html__( 'Theme Demo Import' , 'theme-demo-import' ); $default_settings['menu_title'] = esc_html__( 'Import Demo Content' , 'theme-demo-import' ); $default_settings['capability'] = 'import'; $default_settings['menu_slug'] = 'theme-demo-import'; return $default_settings; } add_filter( 'theme-demo-import/plugin_page_setup', 'TDI_plugin_page_setup' );

Sign In / Register

You need to sign in or register to use this feature.