PluginProbe ʕ •ᴥ•ʔ
Advanced Import / trunk
Advanced Import vtrunk
trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 2.0.0
advanced-import / readme.txt
advanced-import Last commit date
admin 1 month ago assets 1 month ago build 1 month ago includes 1 month ago languages 6 years ago LICENSE.txt 6 years ago advanced-import.php 1 month ago index.php 5 years ago readme.txt 1 month ago uninstall.php 1 month ago
readme.txt
401 lines
1 === Advanced Import ===
2
3 Contributors: addonspress, codersantosh, acmeit
4 Donate link: https://addonspress.com/
5 Tags: demo import, theme import, widget import, customizer import, gutenberg import
6 Requires at least: 6.2
7 Tested up to: 7.0
8 Requires PHP: 7.4
9 Stable tag: 2.0.0
10 License: GPLv2 or later
11 License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
13 Easily import demo data including posts, pages, media, widgets, customizer settings, and Gutenberg Blocks.
14
15 == Description ==
16
17 Import Data or Demo Content which is exported by [Advanced Export](https://wordpress.org/plugins/advanced-export/)
18
19 Advanced Import is the ultimate solution for WordPress theme and plugin developers who want to provide a seamless demo import experience for their users. With a simple one-click interface, it allows users to import demo content, widgets, customizer settings, and even Gutenberg block data effortlessly.
20
21 ### Key Features
22 - **One-Click Demo Import:** Easily import all demo content with a single click.
23 - **Customizer Settings Import:** Retain your theme's look and feel by importing customizer settings.
24 - **Widget Data Import:** Quickly set up widgets to match your demo layout.
25 - **Gutenberg Blocks Import:** Import block-based content for modern themes.
26 - **Media Files Import:** Seamlessly upload and integrate demo media.
27 - **Developer-Friendly Hooks:** Extend or customize the import process with available actions and filters.
28
29 ### Why Use Advanced Import?
30 Whether you're a theme developer offering demo content or a user setting up a site, Advanced Import makes the process hassle-free. It saves time, reduces manual setup effort, and ensures consistency between demo and live sites.
31
32
33 == Features for Theme Author ==
34
35 * Code/Plugin example available
36 * Support for the premium version or premium plugin of the free theme
37 * Install separate dependent plugin/s for each demo starter package of the theme
38 * Categorized available demo import starter package to type and categories
39 * Search filter keywords for demo starter packages
40 * Sufficient hooks to customize the plugin design and functionality
41 * Add demo URL
42 * Add pro URL
43 * Better experience for the user
44
45 == Dashboard Location ==
46
47 = Theme Demo Import Screen =
48
49 Dashboard -> Appearance -> Demo Import
50
51 = Zip File Import Screen =
52
53 Dashboard -> Tool -> Advanced Import
54
55 == Installation ==
56 There are two ways to install any Advanced Import Plugin:-
57 1. Upload zip file from Dashboard->Plugin->Add New "upload plugin".
58 2. Extract Advanced Import and place it in the "/wp-content/plugins/" directory.
59 - Activate the plugin through the "Plugins" menu in WordPress.
60
61
62 == Frequently Asked Questions ==
63
64 = Is Advanced Import a free plugin? =
65
66 Yes, it is a free plugin.
67
68 = Why my demo zip file is not importing? =
69
70 Please make sure it is exported using the [Advanced Export](https://wordpress.org/plugins/advanced-export/) plugin
71
72 = I have activated the plugin. Where is the "Demo Import"? =
73
74 Login to your WordPress dashboard, go to Appearance -> Demo Import.
75 You can also find Import zip options on the WordPress dashboard -> Tools -> Advanced Import.
76
77 = Do I need to check to include media while Export? =
78
79 If you are providing starter content- NO, but if you are migrating site - Yes. As long as the exported site is live on the internet it is not necessary but if you are migrating the site from local to live you should check it.
80 Technically, if you check to include media, the zip files content media files. Huge media files may cause other issues. Generally not recommended to check but you can check media as your requirements.
81
82 = I am a theme author, how can I use this plugin for my theme? =
83
84 First of all, you need to Export your theme demo data from your live demo site using [Advanced Export](https://wordpress.org/plugins/advanced-export/) plugin.
85 Export the zip file, it should contain 3 files content.json, options.json and widgets.json.
86 If you are submitting a theme on WordPress dot org, you are not allowed to include Demo files ( XML, JSON, ZIP), You have to create a separate plugin for your theme/company. We would like to highly recommend creating a single plugin for your all themes. For other platforms, you may add code to your theme.
87 Code Example :
88
89 `
90 function prefix_demo_import_lists(){
91 $demo_lists = array(
92 'demo1' =>array(
93 'title' => __( 'Title 1', 'text-domain' ),/*Title*/
94 'is_pro' => false,/*Is Premium*/
95 'type' => 'gutentor',/*Optional eg gutentor, elementor or other page builders or type*/
96 'author' => __( 'Gutentor', 'text-domain' ),/*Author Name*/
97 'keywords' => array( 'medical', 'multipurpose' ),/*Search keyword*/
98 'categories' => array( 'medical','multipurpose' ),/*Categories*/
99 'template_url' => array(
100 'content' => 'full-url-path/content.json',/*Full URL Path to content.json*/
101 'options' => 'full-url-path/master/options.json',/*Full URL Path to options.json*/
102 'widgets' => 'full-url-path/widgets.json'/*Full URL Path to widgets.json*/
103 ),
104 'screenshot_url' => 'full-url-path/screenshot.png?ver=1.6',/*Full URL Path to demo screenshot image*/
105 'demo_url' => 'https://www.demo.cosmoswp.com/',/*Full URL Path to Live Demo*/
106 /* Recommended plugin for this demo */
107 'plugins' => array(
108 array(
109 'name' => __( 'Gutentor', 'text-domain' ),
110 'slug' => 'gutentor',
111 ),
112 array(
113 'name' => __( 'your plugin name', 'text-domain' ),
114 'slug' => 'plugin-slug',
115 'source' => 'https://downloads.wordpress.org/plugin/advanced-import.1.4.1.zip', //full url with zip, your theme url, or any site link with zip will work
116    ),
117 )
118 ),
119 'demo2' =>array(
120 'title' => __( 'Title 2', 'text-domain' ),/*Title*/
121 'is_pro' => false,/*Is Premium*/
122 'type' => 'gutentor',/*Optional eg gutentor, elementor or other page builders or type*/
123 'author' => __( 'Gutentor', 'text-domain' ),/*Author Name*/
124 'keywords' => array( 'about-block', 'about 3' ),/*Search keyword*/
125 'categories' => array( 'contact','multipurpose','woocommerce' ),/*Categories*/
126 'template_url' => array(
127 'content' => 'full-url-path/content.json',/*Full URL Path to content.json*/
128 'options' => 'full-url-path/master/options.json',/*Full URL Path to options.json*/
129 'widgets' => 'full-url-path/widgets.json'/*Full URL Path to widgets.json*/
130 ),
131 'screenshot_url' => 'full-url-path/screenshot.png?ver=1.6',/*Full URL Path to demo screenshot image*/
132 'demo_url' => 'https://www.demo.cosmoswp.com/',/*Full URL Path to Live Demo*/
133 /* Recommended plugin for this demo */
134 'plugins' => array(
135 array(
136 'name' => __( 'Gutentor', 'text-domain' ),
137 'slug' => 'gutentor',
138 ),
139 array(
140 'name' => __( 'Contact Form 7', 'text-domain' ),
141 'slug' => 'contact-form-7',
142 'main_file' => 'wp-contact-form-7.php',/*the main plugin file of contact form 7 is different from plugin slug */
143 ),
144 )
145 ),
146 'demo3' =>array(
147 'title' => __( 'Title 1', 'text-domain' ),/*Title*/
148 'is_pro' => true,/*Is Premium : Support Premium Version*/
149 'pro_url' => 'https://www.cosmoswp.com/pricing/',/*Premium version/Pricing Url*/
150 'type' => 'gutentor',/*Optional eg gutentor, elementor or other page builders or type*/
151 'author' => __( 'Gutentor', 'text-domain' ),/*Author Name*/
152 'keywords' => array( 'woocommerce', 'shop' ),/*Search keyword*/
153 'categories' => array( 'woocommerce','multipurpose' ),/*Categories*/
154 'template_url' => array(/* Optional for premium theme, you can add your own logic by hook*/
155 'content' => 'full-url-path/content.json',/*Full URL Path to content.json*/
156 'options' => 'full-url-path/master/options.json',/*Full URL Path to options.json*/
157 'widgets' => 'full-url-path/widgets.json'/*Full URL Path to widgets.json*/
158 ),
159 'screenshot_url' => 'full-url-path/screenshot.png?ver=1.6',/*Full URL Path to demo screenshot image*/
160 'demo_url' => 'https://www.demo.cosmoswp.com/',/*Full URL Path to Live Demo*/
161 /* Recommended plugin for this demo */
162 'plugins' => array(
163 array(
164 'name' => __( 'Gutentor', 'text-domain' ),
165 'slug' => 'gutentor',
166 ),
167 )
168 ),
169 /*and so on ............................*/
170 );
171 return $demo_lists;
172 }
173 add_filter('advanced_import_demo_lists','prefix_demo_import_lists');
174 `
175 = Do I need to assign "Front page", "Posts page" and "Menu Locations" after the importer is done or do they automatically assign? =
176
177 You don't need to assign them manually, they will be automatically assigned. The theme author also doesn't have to write additional code for it.
178
179 = I am a theme author and I would like to customize it for my theme, Can you list hooks available on theme Advanced Import plugin? =
180
181 Here is an important list of filter hooks:
182
183 - advanced_import_is_template_available
184 - advanced_import_template_import_button
185 - advanced_import_welcome_message
186 - advanced_import_demo_lists
187 - advanced_import_is_pro_active
188 - advanced_import_post_data
189 - advanced_import_replace_post_ids
190 - advanced_import_replace_term_ids
191 - advanced_import_new_options
192 - advanced_import_sidebars_widgets
193 - advanced_import_complete_message
194 - advanced_import_update_option_['option-name']
195 - advanced_import_update_value_['option-name']
196 - advanced_import_menu_hook_suffix
197 - advanced_import_replace_content_string
198
199 Here is an important list of action hooks:
200
201 - advanced_import_before_demo_import_screen
202 - advanced_import_after_demo_import_screen
203 - advanced_import_before_plugin_screen
204 - advanced_import_after_plugin_screen
205 - advanced_import_before_content_screen
206 - advanced_import_after_content_screen
207 - advanced_import_before_complete_screen
208 - advanced_import_after_complete_screen
209
210 = I would like to develop a companion/starter sites/toolset plugin for my theme/company, Do you have any starter plugins? =
211
212 We don't have any starter plugin but we have developed a plugins for [Acme Themes](https://www.acmethemes.com/). The plugin name is [Acme Demo Setup](https://wordpress.org/plugins/acme-demo-setup/), you can download and view the code of the plugin and develop one for yourself.
213
214 = Are there any themes using these plugins? =
215
216 Yes, many themes are using this plugin, for example, you can look on [CosmosWP Theme](https://cosmoswp.com/)
217
218 == Screenshots ==
219
220 1. Import Main Screen
221 2. Import Start Popup Message
222 3. Import Complete Popup Message
223 4. Import Via File
224 5. The frontend of CosmosWP after Import
225 6. The frontend of Opus Blog after Import
226
227 == Changelog ==
228
229 = 2.0.0 =
230 * Requires PHP: 7.4
231 * Tested up to: WordPress 6.7
232 * Bug Fix: Fixed demo import halting silently after content screen renders due to strict mode JavaScript error.
233 * Bug Fix: Fixed AJAX nonce validation in import_content and complete_screen handlers.
234 * Security: Improved input sanitization across all forms and AJAX handlers.
235 * Security: Hardened AJAX request validation with unified nonce checks.
236 * Security: Secured remote theme installation requests against SSRF attacks.
237 * Security: Moved log file out of publicly accessible uploads directory.
238 * Bug Fix: Fixed an issue where content could be imported twice during demo import.
239 * Bug Fix: Elementor template library data now imports correctly.
240 * Bug Fix: Fixed Elementor CSS regeneration for imported posts.
241 * Bug Fix: The `advanced_import_replace_content_string` filter now works as expected.
242 * Bug Fix: Fixed JSON validation that could cause errors during import.
243 * Bug Fix: Fixed plugin installation error reporting.
244 * Bug Fix: Fixed installer error handling for plugin and theme installation.
245 * Bug Fix: Fixed timing issues in the import process UI.
246 * Bug Fix: Fixed AJAX error handling in the import workflow.
247 * Bug Fix: Fixed script loading in SCRIPT_DEBUG mode.
248 * Enhancement: Scheduled tasks are now properly removed when the plugin is deactivated.
249 * Enhancement: All plugin data is now cleaned up on uninstall.
250 * Enhancement: Tracking option key is now properly namespaced to prevent conflicts.
251 * Enhancement: Improved ZIP file validation reliability.
252 * Enhancement: Elementor imports now process all items correctly.
253 * Enhancement: Improved license verification compatibility.
254
255 = 1.4.6 =
256 * Security Fix: Fixed Server-Side Request Forgery (SSRF) vulnerability in demo import from URL feature.
257 Now uses strict URL validation + wp_safe_remote_get() with reject_unsafe_urls.
258 Thanks to the security researcher who reported it.
259 * Hardened all remote HTTP requests in the plugin for consistency.
260
261 = 1.4.5 - 2025-01-14 =
262 * Added: Introduced support for Blocks Navigation feature.
263 * Added: Implemented a new filter hook `advanced_import_replace_content_string`.
264 * Updated: Enhanced plugin tagline title for clearer comprehension.
265
266 = 1.4.4 - 2024-11-12 =
267 * Added: Tested with the latest WordPress
268 * Added: Inbuilt support for [PatternsWP](https://patternswp.com/) themes
269
270 = 1.4.3 - 2024-08-24 =
271 * Added: Plugin link to Import.
272
273 = 1.4.2 - 2024-08-16 =
274 * Added: Developers can now enable plugin installation from a URL by including theme source in the demo list array. This is ideal for plugins hosted outside of WordPress.org. Important: If a recommended plugin is already available on WordPress.org, there's no need to use the "source" option.
275
276 `
277 'plugins' => array(
278 array(
279 'name' => __( 'your plugin name', 'text-domain' ),
280 'slug' => 'plugin-slug',
281 'source' => 'https://downloads.wordpress.org/plugin/advanced-import.1.4.1.zip', //full url with zip, your theme url, or any site link with zip will work
282    ),
283          )
284 `
285
286 = 1.4.1 - 2024-04-07 =
287 * Updated : Test with WordPress latest version
288
289 = 1.4.0 - 2023-04-06 =
290 * Added: New hook `advanced_import_force_proceed`
291 * Updated : Tested up WordPress 6.2
292 * Fixed : [isJson](https://wordpress.org/support/topic/function-isjson-string-causes-fatal-error/)
293
294 = 1.3.9 - 2022-11-23 =
295 * Added : Missing check_admin_referer in one place
296 * Updated: Uses proper sanitization and escaping functions in some places
297
298 = 1.3.8 - 2022-11-11 =
299 * Updated : Tested up WordPress 6.1
300 * Fixed : Minor changes
301
302 = 1.3.7 - 2022-05-26 =
303 * Added : Cron job
304 * Updated : Tested up WordPress 6
305 * Fixed : Elementor imports in some cases
306
307 = 1.3.6 - 2022-04-27 =
308 * Updated : Reset plugin via ajax
309 * Updated : Elementor imports in some cases
310
311 = 1.3.5 - 2022-02-04 =
312 * Added : Plugin Errors Details
313 * Updated : Latest version test
314 * Fixed : Reset errors with some plugins
315
316 = 1.3.4 - 2022-01-04 =
317 * Added : [Elementor global site settings](https://wordpress.org/support/topic/plugin-update-to-process-elementor-global-site-settings/)
318
319 = 1.3.3 - 2021-06-15 =
320 * Added : Plugin info user consent
321 * Added : 4 new hooks: advanced_import_update_option_['option-name'], advanced_import_update_value_['option-name'] , advanced_import_menu_hook_suffix and advanced_import_current_url
322 * Updated : Error handling and Error Message
323 * Updated : recommendedPlugins check if isset
324 * Fixed : Reset Message
325
326 = 1.3.2 - 2021-04-22 =
327 * Updated : Latest version test
328
329 = 1.3.1 - 2021-01-27 =
330 * Added : Filter list tab active design
331 * Updated : is_pro check more strictly
332
333 = 1.3.0 - 2021-01-26 =
334 * Added : All, Free and Pro Tab
335 * Updated : Tested up to 5.6 WordPress
336 * Updated : PHPCS
337 * Updated : Some minor design
338 * Updated : Minor changes
339 * Fixed : File Type Check
340
341 = 1.2.5 - 2020-11-11 =
342 * Updated : Hook attributes, control each demo import.
343 Now developer can provide user template kit separately. View Example : [CosmosWP Template kits](https://www.cosmoswp.com/template-kits/)
344 * Updated : PHPCS
345 * Updated : Some minor design
346 * Updated : Minor changes
347
348 = 1.2.4 - 2020-06-22 =
349 * Updated : API Url
350
351 = 1.2.3 - 2020-06-22 =
352 * Added : Shortcode support
353 * Added : Meta post id support
354 * Added : Gutentor import support
355 * Added : Elementor import support
356 * Added : Post type array order
357 * Added : Default Post and Page move to trash
358
359 = 1.2.2 - 2020-04-06 =
360 * Updated : Contributors
361 * Fixed : Some Design Issue
362
363 = 1.2.1 - 2020-03-16 =
364 * Fixed : Premium demo support
365
366 = 1.2.0 - 2020-03-12 =
367 * Added : Premium demo support
368 * Added : Readme documentation
369 * Added : Extra layer of security
370 * Updated : Example File
371
372 = 1.0.8 - 2020-02-19 =
373 * Fixed : Secure reset function
374
375 = 1.0.7 - 2020-01-05 =
376 * Fixed : Script loading when SCRIPT_DEBUG on
377
378 = 1.0.6 - 2019-12-02 =
379 * Fixed : Author check fixed for CosmosWP
380
381 = 1.0.5 - 2019-11-25 =
382 * Added : Supports for CosmosWP and Acme Themes
383 * Fixed : Isotope loading issue
384 * Fixed : Author info design issue
385
386 = 1.0.4 - 2019-11-10 =
387 * Added : WooCommerce pages import issues
388
389 = 1.0.3 - 2019-10-24 =
390 * Added : Some Hooks
391
392 = 1.0.2 - 2019-09-29 =
393 * Updated : Some Information
394 * Fixed : Multisite warning
395
396 = 1.0.1 - 2019-09-26 =
397 * Fixed : Tools => Advanced Import
398 * Fixed : Minor Changes
399
400 = 1.0.0 =
401 * Initial release.