5,283 GPL Products · Updated DailyPRO Versions Available · Instant Download
Pure Demo Importer 1.0.12 – WordPress Plugin

Pure Demo Importer

v1.0.12 Updated 3 days ago
Download Pure Demo Importer 1.0.12
Free download · version 1.0.12

Description

At a glance

Pure Demo Importer v1.0.12 is a free WordPress plugin with 40+ active installs, updated September 23, 2026, requires WordPress 5.6+ & PHP 7.4+. Download the latest GPL version below — free, with live demo included.

Pure Demo Importer adds a Demo Importer admin page to any WordPress theme that registers itself with the plugin. It can:

  • Export the current site’s content (content.xml WXR), widgets (widgets.wie) and customizer settings (customizer.dat) into a single ZIP.
  • Import any of the above on a fresh WordPress install, with auto-install and activation of required plugins from the WordPress.org repo.
  • Show a live system-requirements check before import with copy-paste fix instructions.
  • Optionally reset the site (delete posts/widgets/customizer mods) before importing.

The plugin itself ships no demo config. Themes and core plugins register their demos by hooking the pure_demo_importer_register action — see “Registering demos” below.

Registering demos

The plugin fires a pure_demo_importer_register action on after_setup_theme:20. Hook into it and call ThemePure_Demo_Importer::register() with your config:

add_action( 'pure_demo_importer_register', function () {
    ThemePure_Demo_Importer::register( array(
        'theme_name' => 'My Theme',
        'theme_slug' => 'my-theme',          // drives the filter name
        'menu_slug'  => 'my-theme-demo',
        'menu_title' => 'My Theme Importer',
        'menu_icon'  => 'dashicons-download',
        'demos'      => require __DIR__ . '/demo-config/demo.php',
    ) );
} );

Filter hook: extending the demos array

After the initial ::register() call, the demos array is filterable per theme via the filter {theme_slug}_demo_importer_demos. The filter name is built from your theme_slug — if you registered with 'theme_slug' => 'consora', the filter is consora_demo_importer_demos. The filter passes two args: ( array $demos, array $config ).

Use this filter to add, remove, or modify demos after the initial register call — without touching the theme’s static demo.php config.

When the filter fires

Inside ThemePure_Demo_Importer::get_demos() — every time the admin page (or any AJAX step) reads the demos array. Filter callbacks can be added anywhere that runs before the user opens the Demo Importer page (e.g. functions.php, plugin bootstrap, after_setup_theme).

Where to add the filter callback

Location
When to use

Theme’s demo-config/demo-import.php
Most demos are static — this is just a small extension.

A separate file (theme/demo-config/extra-demos.php)
Keep dynamic / conditional demos isolated from the static config.

A site-specific plugin (mu-plugins/site-demos.php)
The extra demos are project-specific and shouldn’t ship with the theme.

Example 1: Append an extra demo (most common)

From any plugin or functions.php, after the theme’s register call:

add_filter( 'consora_demo_importer_demos', function ( $demos, $config ) {
    $demos[] = array(
        'slug'               => 'home-bonus',
        'name'               => 'Bonus Homepage',
        'page_preview_image' => 'https://wp.themepure.net/consora/sample-data/preview-image/thumb-bonus.jpg',
        'preview_live_url'   => 'https://wp.themepure.net/consora/home-bonus',
        'required_plugins'   => array(
            array( 'slug' => 'elementor', 'name' => 'Elementor' ),
        ),
        'content_xml_url'    => 'https://wp.themepure.net/consora/sample-data/sample-data/bonus.xml',
        'home_page'          => 'Home Bonus',
        'source_url'         => 'https://wp.themepure.net/consora/',
    );
    return $demos;
}, 10, 2 );

Example 2: Remove a demo conditionally

Hide demos that depend on a plugin which isn’t active (e.g. WooCommerce-only demos):

add_filter( 'consora_demo_importer_demos', function ( $demos, $config ) {
    // Hide the WooCommerce demo when Woo isn't active.
    if ( ! class_exists( 'WooCommerce' ) ) {
        $demos = array_values( array_filter( $demos, function ( $d ) {
            return $d['slug'] !== 'home-05';
        } ) );
    }
    return $demos;
}, 10, 2 );

Example 3: Mutate every demo at once

Switch the CDN host across every demo, or force-add a plugin to every demo’s required-plugins list:

add_filter( 'consora_demo_importer_demos', function ( $demos, $config ) {
    foreach ( $demos as &$demo ) {
        // Force-add a plugin to every demo.
        $demo['required_plugins'][] = array(
            'slug' => 'wordpress-seo',
            'name' => 'Yoast SEO',
        );
        // Swap the CDN host.
        if ( isset( $demo['content_xml_url'] ) ) {
            $demo['content_xml_url'] = str_replace(
                'wp.themepure.net',
                'cdn.themepure.net',
                $demo['content_xml_url']
            );
        }
    }
    unset( $demo );
    return $demos;
}, 10, 2 );

Replacing the demos array entirely

You can also call ::register() with 'demos' => array() and populate the entire list via the filter — useful if your demos are generated dynamically (e.g. fetched from a remote API at boot).

Other available hooks

Lifecycle actions

  • themepure_di_before_import — fires before reset / import begins. Args: ( $demo ).
  • themepure_di_after_import — fires once all imports complete. Args: ( $demo ). Use for WooCommerce page IDs, custom kits, theme options.
  • themepure_di_before_step / themepure_di_after_step — per-step hooks. Args: ( $step, $demo, $arg ).

Reset

  • themepure_di_reset_preserve_plugins — filter the list of plugin basenames to keep active across a reset. Default: [ 'pure-demo-importer/pure-demo-importer.php' ]. Append any plugin that registers demos so the demos remain visible after the post-reset page reload.

Downloader

  • themepure_di_download_timeout — remote download timeout in seconds (default 300).
  • themepure_di_http_bypass_args — tweak browser-style headers used when a host 403s the default WP user-agent.

WXR import

  • themepure_di_wp_import_fetch_attachments — skip media sideload during WXR import (default true).
  • themepure_di_wp_import_allow_create_users — allow WP_Import to create users from XML authors (default false).

Logger

  • themepure_di_logging_enabled — disable site-wide import logging:

    add_filter( ‘themepure_di_logging_enabled’, ‘__return_false’ );

Logs are written to a private wp-content/uploads/themepure-di-logs-{random}/import.log and rotated at ~2 MB. The random suffix is generated once per site so the log cannot be fetched by guessing its URL.

External services

Pure Demo Importer ships with zero demos configured out of the box (demos => array()) and makes no external connections on its own. It is a drop-in engine: a WordPress theme or plugin integrates with it by registering one or more “demo” entries (each with its own name and URLs) via the pure_demo_importer_register action. Once a theme has registered real demos, the following outbound requests can happen — always as the direct result of the site administrator clicking a button in the Pure Demo Importer admin screen, never automatically or in the background:

  • Demo content download. When the admin clicks “Import” for a specific demo, the plugin downloads that demo’s content files (WXR XML, widgets .wie/JSON, Customizer .dat, an optional Elementor kit .zip) from the URL(s) the integrating theme configured for that demo. This is a plain HTTP GET of a static file; no site data, personal data, or tracking parameters are sent — only a standard request for the file at that URL. The host is whatever demo server the theme author operates or points to; this plugin does not operate its own demo-content service and cannot provide a single Terms of Service / Privacy Policy link, since the host is defined entirely by the integrating theme, not by this plugin.
  • Plugin installation. When the admin clicks “Install” next to a recommended plugin, the plugin is resolved and downloaded from the official WordPress.org Plugin Directory using WordPress core’s own plugins_api() and Plugin_Upgrader — the same mechanism used by Add New Plugin in wp-admin. See https://wordpress.org/about/privacy/ for WordPress.org’s own privacy policy. No plugin code is ever installed from any other source.
  • WooCommerce variation-swatch image (optional). If the integrating theme’s demo config includes a variation_settings_url, the plugin fetches that single URL after import to configure WooCommerce product-variation swatches. Same nature as the demo content download above: a static file fetch to a URL the theme author configured, triggered only by the admin’s own import action.

No analytics, telemetry, or usage tracking of any kind is performed by this plugin.

Frequently asked questions

What do I get when I download Pure Demo Importer?

Pure Demo Importer 1.0.12 is the latest version. It is a WordPress plugin you can download here free of charge under the GPL license, with the complete feature set included and no trial limitations.

Does Pure Demo Importer cost anything?

No. Pure Demo Importer 1.0.12 is 100% free — the full GPL version, not a trial or demo. There are no download limits, no accounts to create, and no upsells during the download.

How do I install Pure Demo Importer 1.0.12?

Download the ZIP file from this page, then in your WordPress dashboard go to Plugins → Add New → Upload Plugin, choose the file, click Install Now, then Activate. The plugin works immediately after activation — no license key or extra setup is required for the core features.

What are the requirements for Pure Demo Importer?

Pure Demo Importer 1.0.12 requires WordPress 5.6 or higher and PHP 7.4 or higher. Most modern WordPress hosts already meet these versions. Running older versions may cause features to break, so update WordPress and PHP first if your site is behind.

When was Pure Demo Importer last updated?

Version 1.0.12 was last updated on September 23, 2026. This page is refreshed automatically, so the download here always matches the newest version we have verified.

Is the Pure Demo Importer download safe?

The file is sourced directly from the official WordPress.org repository — the same file the developer published. It is served unmodified, so what you install here is byte-identical to the official release.

Version: 1.0.12
Updated: October 1, 2026

Technical details

Version1.0.12
Last updatedSeptember 23, 2026
Active installs40+
Requires WordPress5.6 or higher
Requires PHP7.4 or higher
AuthorThemepure
Tagsdemo, demo-importer, one-click-import, starter-sites, wxr

Download Pure Demo Importer

Download Pure Demo Importer WP Plugin

Official Page ↗

Note: if the download does not start, disable your ad blocker and try again.

Leave a Comment