Version Description
- Fix: Issue with importing user roles.
- Improvement: Added more filters for export.
- Tested OK with WP 5.6
- Tested OK with WC 4.7.1
- Version 2.0.0 onward has been revamped majorly.
Download this release
Release Info
Developer | webtoffee |
Plugin | Import Export WordPress Users and WooCommerce Customers |
Version | 2.0.3 |
Comparing to | |
See all releases |
Code changes from version 2.0.2 to 2.0.3
- admin/modules/history/views/_history_list.php +1 -1
- admin/modules/import/import.php +2 -2
- admin/modules/user/data/data-user-columns.php +2 -1
- admin/modules/user/export/export.php +3 -2
- admin/modules/user/import/import.php +6 -9
- admin/modules/user/user.php +78 -5
- assets/images/webtoffee-logo_small.png +0 -0
- includes/class-wt-import-export-for-woo.php +1 -1
- readme.txt +74 -31
- user_import_export_review_request.php +252 -0
- users-customers-import-export-for-wp-woocommerce.php +5 -3
admin/modules/history/views/_history_list.php
CHANGED
@@ -174,7 +174,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
174 |
if(file_exists($log_file_path))
|
175 |
{
|
176 |
?>
|
177 |
-
| <a class="wt_iew_view_log_btn" data-history-id="<?php echo $history_item['id'];?>"><?php _e("
|
178 |
<?php
|
179 |
}
|
180 |
}
|
174 |
if(file_exists($log_file_path))
|
175 |
{
|
176 |
?>
|
177 |
+
| <a class="wt_iew_view_log_btn" data-history-id="<?php echo $history_item['id'];?>"><?php _e("Details");?></a>
|
178 |
<?php
|
179 |
}
|
180 |
}
|
admin/modules/import/import.php
CHANGED
@@ -114,7 +114,7 @@ class Wt_Import_Export_For_Woo_Basic_Import
|
|
114 |
),
|
115 |
'value' =>0,
|
116 |
'field_name'=>'enable_import_log',
|
117 |
-
'help_text'=>__('Save import log as text file and make it available in the history section.'),
|
118 |
'validation_rule'=>array('type'=>'absint'),
|
119 |
);
|
120 |
$import_methods=array_map(function($vl){ return $vl['title']; }, $this->import_methods);
|
@@ -131,7 +131,7 @@ class Wt_Import_Export_For_Woo_Basic_Import
|
|
131 |
'type'=>'number',
|
132 |
'value' =>100, /* If altering then please also change batch count field help text section */
|
133 |
'field_name'=>'default_import_batch',
|
134 |
-
'help_text'=>__('Provide the default
|
135 |
'validation_rule'=>array('type'=>'absint'),
|
136 |
);
|
137 |
return $fields;
|
114 |
),
|
115 |
'value' =>0,
|
116 |
'field_name'=>'enable_import_log',
|
117 |
+
'help_text'=>__('Save import log as text file and make it available in the history section for debugging purposes.'),
|
118 |
'validation_rule'=>array('type'=>'absint'),
|
119 |
);
|
120 |
$import_methods=array_map(function($vl){ return $vl['title']; }, $this->import_methods);
|
131 |
'type'=>'number',
|
132 |
'value' =>100, /* If altering then please also change batch count field help text section */
|
133 |
'field_name'=>'default_import_batch',
|
134 |
+
'help_text'=>__('Provide the default number of records to be imported in a batch.'),
|
135 |
'validation_rule'=>array('type'=>'absint'),
|
136 |
);
|
137 |
return $fields;
|
admin/modules/user/data/data-user-columns.php
CHANGED
@@ -4,6 +4,7 @@ if (!defined('ABSPATH')) {
|
|
4 |
exit;
|
5 |
}
|
6 |
|
|
|
7 |
$columns = array(
|
8 |
'ID' => 'ID',
|
9 |
'customer_id' => 'customer_id',
|
@@ -30,7 +31,7 @@ $columns['admin_color'] = 'admin_color';
|
|
30 |
$columns['use_ssl'] = 'use_ssl';
|
31 |
$columns['show_admin_bar_front'] = 'show_admin_bar_front';
|
32 |
$columns['locale'] = 'locale';
|
33 |
-
$columns['
|
34 |
$columns['dismissed_wp_pointers'] = 'dismissed_wp_pointers';
|
35 |
$columns['last_update'] = 'last_update';
|
36 |
|
4 |
exit;
|
5 |
}
|
6 |
|
7 |
+
global $wpdb;
|
8 |
$columns = array(
|
9 |
'ID' => 'ID',
|
10 |
'customer_id' => 'customer_id',
|
31 |
$columns['use_ssl'] = 'use_ssl';
|
32 |
$columns['show_admin_bar_front'] = 'show_admin_bar_front';
|
33 |
$columns['locale'] = 'locale';
|
34 |
+
$columns[$wpdb->prefix.'user_level'] = $wpdb->prefix.'user_level';
|
35 |
$columns['dismissed_wp_pointers'] = 'dismissed_wp_pointers';
|
36 |
$columns['last_update'] = 'last_update';
|
37 |
|
admin/modules/user/export/export.php
CHANGED
@@ -128,6 +128,7 @@ class Wt_Import_Export_For_Woo_basic_User_Export {
|
|
128 |
}
|
129 |
|
130 |
public function get_customers_csv_row($id) {
|
|
|
131 |
$csv_columns = $this->parent_module->get_selected_column_names();
|
132 |
|
133 |
$user = get_user_by('id', $id);
|
@@ -145,8 +146,8 @@ class Wt_Import_Export_For_Woo_basic_User_Export {
|
|
145 |
$customer_data[$key] = !empty($user->ID) ? maybe_serialize($user->ID) : '';
|
146 |
continue;
|
147 |
}
|
148 |
-
if($key == '
|
149 |
-
$customer_data[
|
150 |
continue;
|
151 |
}
|
152 |
|
128 |
}
|
129 |
|
130 |
public function get_customers_csv_row($id) {
|
131 |
+
global $wpdb;
|
132 |
$csv_columns = $this->parent_module->get_selected_column_names();
|
133 |
|
134 |
$user = get_user_by('id', $id);
|
146 |
$customer_data[$key] = !empty($user->ID) ? maybe_serialize($user->ID) : '';
|
147 |
continue;
|
148 |
}
|
149 |
+
if($key == $wpdb->prefix.'user_level'){
|
150 |
+
$customer_data[$key] = (!empty($user->{$key})) ? $user->{$key} : 0;
|
151 |
continue;
|
152 |
}
|
153 |
|
admin/modules/user/import/import.php
CHANGED
@@ -45,9 +45,7 @@ class Wt_Import_Export_For_Woo_basic_User_Import {
|
|
45 |
public function __construct($parent_object) {
|
46 |
|
47 |
$this->parent_module = $parent_object;
|
48 |
-
|
49 |
|
50 |
-
$this->user_fields = include( dirname(__FILE__) . '/../exporter/data/data-wf-post-columns.php' );
|
51 |
$this->user_base_fields = array(
|
52 |
'ID' => 'ID',
|
53 |
'customer_id' => 'customer_id',
|
@@ -446,15 +444,14 @@ class Wt_Import_Export_For_Woo_basic_User_Import {
|
|
446 |
|
447 |
//unset($this->user_meta_fields['role']);
|
448 |
// update user meta data
|
|
|
449 |
foreach ($this->user_meta_fields as $key => $meta) {
|
450 |
-
if (($key == '
|
451 |
-
continue;
|
452 |
}
|
453 |
$key = trim(str_replace('meta:', '', $key));
|
454 |
// $meta = trim(str_replace('meta:', '', $meta));
|
455 |
$meta_value = (!empty($meta_array[$key]) ) ? maybe_unserialize($meta_array[$key]) : '';
|
456 |
-
if ($key == '
|
457 |
-
$meta_value = 0;
|
458 |
}
|
459 |
update_user_meta($found_customer, $key, $meta_value);
|
460 |
}
|
@@ -573,14 +570,14 @@ We look forward to seeing you soon.
|
|
573 |
$meta_array[$meta['key']] = $meta['value'];
|
574 |
}
|
575 |
// update user meta data
|
|
|
576 |
foreach ($this->user_meta_fields as $key => $meta) {
|
577 |
-
if (($key == '
|
578 |
-
continue;
|
579 |
}
|
580 |
$key = trim(str_replace('meta:', '', $key));
|
581 |
// $meta = trim(str_replace('meta:', '', $meta));
|
582 |
$meta_value = (!empty($meta_array[$key]) ) ? maybe_unserialize($meta_array[$key]) : '';
|
583 |
-
if ($key == '
|
584 |
$meta_value = 0;
|
585 |
}
|
586 |
update_user_meta($found_customer, $key, $meta_value);
|
45 |
public function __construct($parent_object) {
|
46 |
|
47 |
$this->parent_module = $parent_object;
|
|
|
48 |
|
|
|
49 |
$this->user_base_fields = array(
|
50 |
'ID' => 'ID',
|
51 |
'customer_id' => 'customer_id',
|
444 |
|
445 |
//unset($this->user_meta_fields['role']);
|
446 |
// update user meta data
|
447 |
+
global $wpdb;
|
448 |
foreach ($this->user_meta_fields as $key => $meta) {
|
449 |
+
if (($key == $wpdb->prefix.'capabilities') || (in_array($key, $this->user_base_fields))) { continue;
|
|
|
450 |
}
|
451 |
$key = trim(str_replace('meta:', '', $key));
|
452 |
// $meta = trim(str_replace('meta:', '', $meta));
|
453 |
$meta_value = (!empty($meta_array[$key]) ) ? maybe_unserialize($meta_array[$key]) : '';
|
454 |
+
if ($key == $wpdb->prefix.'user_level' && $meta_value == ''){ $meta_value = 0;
|
|
|
455 |
}
|
456 |
update_user_meta($found_customer, $key, $meta_value);
|
457 |
}
|
570 |
$meta_array[$meta['key']] = $meta['value'];
|
571 |
}
|
572 |
// update user meta data
|
573 |
+
global $wpdb;
|
574 |
foreach ($this->user_meta_fields as $key => $meta) {
|
575 |
+
if (($key == $wpdb->prefix.'capabilities') || (in_array($key, $this->user_base_fields))) { continue;
|
|
|
576 |
}
|
577 |
$key = trim(str_replace('meta:', '', $key));
|
578 |
// $meta = trim(str_replace('meta:', '', $meta));
|
579 |
$meta_value = (!empty($meta_array[$key]) ) ? maybe_unserialize($meta_array[$key]) : '';
|
580 |
+
if ($key == $wpdb->prefix.'user_level' && $meta_value == ''){
|
581 |
$meta_value = 0;
|
582 |
}
|
583 |
update_user_meta($found_customer, $key, $meta_value);
|
admin/modules/user/user.php
CHANGED
@@ -284,7 +284,7 @@ class Wt_Import_Export_For_Woo_basic_User {
|
|
284 |
*/
|
285 |
public static function get_all_metakeys() {
|
286 |
global $wpdb;
|
287 |
-
return apply_filters('wt_alter_user_meta_data', $wpdb->get_col("SELECT distinct(meta_key) FROM $wpdb->usermeta WHERE meta_key NOT IN ('
|
288 |
}
|
289 |
|
290 |
|
@@ -354,10 +354,23 @@ class Wt_Import_Export_For_Woo_basic_User {
|
|
354 |
if ($this->module_base != $base) {
|
355 |
return $fields;
|
356 |
}
|
357 |
-
|
358 |
/* altering help text of default fields */
|
359 |
-
|
360 |
-
$fields['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
|
362 |
$fields['roles'] = array(
|
363 |
'label' => __('User Roles'),
|
@@ -370,9 +383,69 @@ class Wt_Import_Export_For_Woo_basic_User {
|
|
370 |
'validation_rule' => array('type'=>'text_arr')
|
371 |
);
|
372 |
|
373 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
376 |
return $fields;
|
377 |
}
|
378 |
|
284 |
*/
|
285 |
public static function get_all_metakeys() {
|
286 |
global $wpdb;
|
287 |
+
return apply_filters('wt_alter_user_meta_data', $wpdb->get_col("SELECT distinct(meta_key) FROM $wpdb->usermeta WHERE meta_key NOT IN ('".$wpdb->prefix."capabilities')"));
|
288 |
}
|
289 |
|
290 |
|
354 |
if ($this->module_base != $base) {
|
355 |
return $fields;
|
356 |
}
|
357 |
+
$fields = array();
|
358 |
/* altering help text of default fields */
|
359 |
+
|
360 |
+
$fields['email'] = array(
|
361 |
+
'label' => __('User Email'),
|
362 |
+
'placeholder' => __('All User'),
|
363 |
+
'field_name' => 'email',
|
364 |
+
'sele_vals' => '',
|
365 |
+
'help_text' => __('Input the customer emails separated by comma to export information pertaining to only these customers.'),
|
366 |
+
'validation_rule' => array('type'=>'text_arr')
|
367 |
+
);
|
368 |
+
if(is_plugin_active('woocommerce/woocommerce.php'))
|
369 |
+
{
|
370 |
+
$fields['email']['help_text']=__('Input the customer email to export information pertaining to only these customers.');
|
371 |
+
$fields['email']['type']='multi_select';
|
372 |
+
$fields['email']['css_class']='wc-customer-search';
|
373 |
+
}
|
374 |
|
375 |
$fields['roles'] = array(
|
376 |
'label' => __('User Roles'),
|
383 |
'validation_rule' => array('type'=>'text_arr')
|
384 |
);
|
385 |
|
386 |
+
$fields['date_from'] = array(
|
387 |
+
'label' => __('Customer Registration Date Drom'),
|
388 |
+
'placeholder' => __('Date'),
|
389 |
+
'field_name' => 'date_from',
|
390 |
+
'sele_vals' => '',
|
391 |
+
'help_text' => __('Date on which the customer registered. Export customers registered on and after the specified date.'),
|
392 |
+
'type' => 'text',
|
393 |
+
'css_class' => 'wt_iew_datepicker',
|
394 |
+
);
|
395 |
+
|
396 |
+
$fields['date_to'] = array(
|
397 |
+
'label' => __('Customer Registration Date To'),
|
398 |
+
'placeholder' => __('Date'),
|
399 |
+
'field_name' => 'date_to',
|
400 |
+
'sele_vals' => '',
|
401 |
+
'help_text' => __('Export customers registered upto the specified date.'),
|
402 |
+
'type' => 'text',
|
403 |
+
'css_class' => 'wt_iew_datepicker',
|
404 |
+
);
|
405 |
+
|
406 |
+
$fields['limit'] = array(
|
407 |
+
'label' => __('Total number of users to export'),
|
408 |
+
'placeholder' => __('Unlimited'),
|
409 |
+
'field_name' => 'limit',
|
410 |
+
'help_text'=>__('The actual number of users you want to export. e.g. A limit of 500 with an offset 10 will export users from 11th to 510th position.'),
|
411 |
+
'type' => 'number',
|
412 |
+
'value'=>'',
|
413 |
+
'attr'=>array('step'=>1,'min_val'=>0),
|
414 |
+
'validation_rule' => array('type'=>'absint')
|
415 |
+
);
|
416 |
|
417 |
+
$fields['offset'] = array(
|
418 |
+
'label' => __('Skip first <i>n</i> users'),
|
419 |
+
'placeholder' => __('0'),
|
420 |
+
'field_name' => 'offset',
|
421 |
+
'help_text'=>__('Specify the number of users that should be skipped from the beginning. e.g. An offset of 10 skips the first 10 users.'),
|
422 |
+
'type' => 'number',
|
423 |
+
'value'=>0,
|
424 |
+
'attr'=>array('step'=>1,'min_val'=>0),
|
425 |
+
'validation_rule' => array('type'=>'absint')
|
426 |
+
);
|
427 |
+
|
428 |
|
429 |
+
$fields['sort_columns'] = array(
|
430 |
+
'label' => __('Sort Columns'),
|
431 |
+
'placeholder' => __('user_login'),
|
432 |
+
'field_name' => 'sort_columns',
|
433 |
+
'sele_vals' => self::get_user_sort_columns(),
|
434 |
+
'help_text' => __('Sort the exported data based on the selected columns in order specified. Defaulted to ascending order.'),
|
435 |
+
'type' => 'multi_select',
|
436 |
+
'css_class' => 'wc-enhanced-select',
|
437 |
+
'validation_rule' => array('type'=>'text_arr')
|
438 |
+
);
|
439 |
+
|
440 |
+
$fields['order_by'] = array(
|
441 |
+
'label' => __('Sort By'),
|
442 |
+
'placeholder' => __('ASC'),
|
443 |
+
'field_name' => 'order_by',
|
444 |
+
'sele_vals' => array('ASC' => 'Ascending', 'DESC' => 'Descending'),
|
445 |
+
'help_text' => __('Defaulted to Ascending. Applicable to above selected columns in the order specified.'),
|
446 |
+
'type' => 'select',
|
447 |
+
);
|
448 |
+
|
449 |
return $fields;
|
450 |
}
|
451 |
|
assets/images/webtoffee-logo_small.png
ADDED
Binary file
|
includes/class-wt-import-export-for-woo.php
CHANGED
@@ -80,7 +80,7 @@ class Wt_Import_Export_For_Woo_Basic {
|
|
80 |
if ( defined( 'WT_U_IEW_VERSION' ) ) {
|
81 |
$this->version = WT_U_IEW_VERSION;
|
82 |
} else {
|
83 |
-
$this->version = '2.0.
|
84 |
}
|
85 |
$this->plugin_name = 'wt-import-export-for-woo-basic';
|
86 |
|
80 |
if ( defined( 'WT_U_IEW_VERSION' ) ) {
|
81 |
$this->version = WT_U_IEW_VERSION;
|
82 |
} else {
|
83 |
+
$this->version = '2.0.3';
|
84 |
}
|
85 |
$this->plugin_name = 'wt-import-export-for-woo-basic';
|
86 |
|
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
=== Import Export WordPress Users ===
|
2 |
Contributors: webtoffee
|
3 |
Donate link: https://www.webtoffee.com/plugins/
|
4 |
Tags: user import, user export, csv, woocommerce, customers, import, export, export customers, import customers, export users to csv, import users from csv, woocommerce export customers, export import users, woocommerce import customers, woocommerce export customer email
|
5 |
Requires at least: 3.0.1
|
6 |
-
Tested up to: 5.
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 2.0.
|
9 |
License: GPLv3
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
@@ -15,41 +15,52 @@ Import users and export users made simple! Easily Export Users to CSV, Import Us
|
|
15 |
|
16 |
= Introduction =
|
17 |
|
18 |
-
|
19 |
|
20 |
|
21 |
🔸 Users Export - Export Users to CSV file.</li>
|
22 |
🔸 Users import - Import Users from CSV format to WordPress/WooCommerce Store.
|
23 |
-
🔸
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
🔸 Tested OK with PHP 7.3.5
|
25 |
|
26 |
Highlights: WordPress Users Export, WordPress Users CSV Import Suite, Export WordPress Users to CSV. Pro Version supports export and import of all additional user meta like WooCommerce details.
|
27 |
|
28 |
= How does it work? =
|
29 |
|
30 |
-
The Import Export WordPress Users Plugin takes CSV (Comma-Separated Values) file as input. You must create a CSV file and enter the user details in a structured format as explained in the tutorial. This is to match each field of CSV file to the field of a particular user fields , otherwise Admin need to input manually. For example
|
31 |
|
32 |
You can create the CSV from the scratch or you can export the users to get the format of CSV. You can use a spreadsheet program, such as Microsoft Excel, OpenOffice, LibreOffice or Google Spreadsheets for creating and modifying the CSV file. Save this file in UTF-8 encoding with extension .CSV. After entering all details about users in spreadsheet, you can bulk import users to your online Site/Store. With this plugin, you can also export and download user details as a CSV file.
|
33 |
|
34 |
|
35 |
|
36 |
-
More information about the set up of the plugin and a sample CSV that is taken as input by the plugin is given in the <a rel="nofollow" href="https://www.webtoffee.com/user-import-export-plugin-wordpress-user-guide/">
|
37 |
|
38 |
= Premium version Features =
|
39 |
|
40 |
<blockquote>
|
41 |
|
42 |
-
Import Export WordPress Users & WooCommerce Customers
|
43 |
-
|
44 |
-
✅
|
45 |
-
✅
|
46 |
-
✅ Various Filter options for exporting Customers.
|
47 |
✅ Map and Transform fields while Importing Customers.
|
48 |
✅ Change values while importing Customers using Evaluation Fields.
|
|
|
49 |
✅ Choice to Update or Skip existing imported Customers.
|
50 |
-
✅
|
|
|
51 |
✅ WPML Supported. French language support Out of the Box.
|
52 |
-
✅ Export Import users to/from a remote server via FTP in Scheduled time interval with Cron Job.
|
|
|
53 |
✅ Third party plugin customization support.</li>
|
54 |
✅ Compatible with BuddyPress, Ultimate Member, Ultimate Membership Pro, Better Notifications for WP, Advanced Custom Fields (ACF) etc.</li>
|
55 |
✅ Excellent Support for setting it up!
|
@@ -57,6 +68,8 @@ Import Export WordPress Users & WooCommerce Customers
|
|
57 |
|
58 |
Please visit <a rel="nofollow" href="https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/">Import Export WordPress Users & WooCommerce Customers</a> for more details
|
59 |
|
|
|
|
|
60 |
</blockquote>
|
61 |
|
62 |
**Use Cases Handled**
|
@@ -67,29 +80,29 @@ The following use cases are handled by the plugin
|
|
67 |
|
68 |
✅ User Export - WordPress Export Users to CSV.</li>
|
69 |
✅ User Import - WordPress Import Users from CSV.</li>
|
70 |
-
✅ Customer Export - WooCommerce Export Customers to CSV
|
71 |
-
✅ Customer Import - WooCommerce Import Customers from CSV
|
72 |
|
73 |
|
74 |
WordPress Export Users to CSV
|
75 |
|
76 |
-
|
77 |
|
78 |
-
You can bulk export users details to CSV file with multiple powerful filters such as User Roles, date ranges, etc. Even the plugin automatically upload your exports via FTP.
|
79 |
|
80 |
WordPress Import Users from CSV
|
81 |
|
82 |
-
You can import WordPress users to your WordPress site from other platforms. Use WordPress import users feature or merge users (update existing users) hundreds, even thousands, of WordPress users details using one file which saves your effort and time of manually adding user information.
|
83 |
|
84 |
-
|
85 |
|
86 |
-
You can map your import columns to the appropriate WordPress data to import or merge user details. You can also import data from a variety of sources, such as an uploaded CSV file on FTP, locally saved CSV file to your computer.
|
87 |
|
88 |
For importing WordPress user details to your website, you must create a CSV(Comma-Separated Values) file which contains information about mapping fields in a tabular form. You can create CSV file by using a spreadsheet program, such as Excel, or Google Spreadsheets. Save this file with extension .CSV. After entering all details about WordPress users in the spreadsheet, you can import to your website.
|
89 |
|
90 |
WooCommerce Export Customers to CSV (Premium)
|
91 |
|
92 |
-
You can export WooCommerce customer list from WordPress/WooCommerce site and generate a CSV file. Use this CSV file to migrate customers to another online store by WordPress import customers functionality or merge customers (update existing customers) functionality of this plugin. If you have hundreds, even thousands, of WooCommerce Customers, this helps to save your effort and time of manually adding the WooCommerce customer list.
|
93 |
|
94 |
Plugin can easily export customers details to CSV file by filtering customers by user role. Even the plugin automatically upload your exports via FTP.
|
95 |
|
@@ -97,12 +110,24 @@ WooCommerce Import Customers from CSV (Premium)
|
|
97 |
|
98 |
You can import WooCommerce customers to WordPress/WooCommerce site easily. WooCommerce import customers feature or merge customers feature (update existing customers) help move or update hundreds, even thousands, of customers details using one file which saves your effort and time of manually adding user information.
|
99 |
|
100 |
-
The plugin has the option to send an Email to the user email ID whenever admin imports/updates customer details.
|
101 |
|
102 |
-
You can map your import columns to the appropriate WooCommerce data to import or merge customer details. You can also import data from a variety of sources, such as an uploaded CSV file on FTP, locally saved CSV file to your computer.
|
103 |
|
104 |
For importing WooCommerce customer details to your website, you must create a CSV(Comma-Separated Values) file which contains information about mapping fields in a tabular form. You can create CSV file by using a spreadsheet program, such as Excel, or Google Spreadsheets. Save this file with extension .CSV. After entering all details about WooCommerce users in the spreadsheet, you can import to your website.
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
= About WebToffee.com =
|
107 |
|
108 |
<a rel="nofollow" href="https://www.webtoffee.com/">WebToffee</a> creates quality WordPress/WooCommerce plugins that are easy to use and customize. We are proud to have thousands of customers actively using our plugins across the globe.
|
@@ -153,13 +178,30 @@ By default, admin and store manager are given access to export users. Please vis
|
|
153 |
|
154 |
== Screenshots ==
|
155 |
|
156 |
-
1.
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
|
158 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
|
160 |
-
3. Premium export Screen
|
161 |
|
162 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
= 2.0.2 =
|
164 |
* Fix: Batch count issue for quick export.
|
165 |
* Fix: Issue with password migration for quick import.
|
@@ -289,8 +331,9 @@ By default, admin and store manager are given access to export users. Please vis
|
|
289 |
|
290 |
== Upgrade Notice ==
|
291 |
|
292 |
-
= 2.0.
|
293 |
-
* Fix:
|
294 |
-
*
|
295 |
-
* Tested OK with
|
|
|
296 |
* Version 2.0.0 onward has been revamped majorly.
|
1 |
+
=== Import Export WordPress Users and WooCommerce Customers ===
|
2 |
Contributors: webtoffee
|
3 |
Donate link: https://www.webtoffee.com/plugins/
|
4 |
Tags: user import, user export, csv, woocommerce, customers, import, export, export customers, import customers, export users to csv, import users from csv, woocommerce export customers, export import users, woocommerce import customers, woocommerce export customer email
|
5 |
Requires at least: 3.0.1
|
6 |
+
Tested up to: 5.6
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 2.0.3
|
9 |
License: GPLv3
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
15 |
|
16 |
= Introduction =
|
17 |
|
18 |
+
WordPress User Import Export plugin allows you to import and export WordPress users and WooCommerce customers quickly and easily. User Export and User import are much required feature while moving Wordpress / WooCommerce websites.
|
19 |
|
20 |
|
21 |
🔸 Users Export - Export Users to CSV file.</li>
|
22 |
🔸 Users import - Import Users from CSV format to WordPress/WooCommerce Store.
|
23 |
+
🔸 Customer Export - Export WooCommerce customers to CSV
|
24 |
+
🔸 Customer Import - Import WooCommerce customers from CSV
|
25 |
+
🔸 Batch Export/Import
|
26 |
+
🔸 Export/Import based on user roles
|
27 |
+
🔸 Export filters
|
28 |
+
🔸 Retain user passwords (optional)
|
29 |
+
🔸 Map and Transform fields while importing customers/users
|
30 |
+
🔸 Change values (bulk modify) while importing customers/users using Evaluation Fields
|
31 |
+
🔸 Tested OK with WordPress 5.6
|
32 |
+
🔸 Tested OK with WooCommerce 4.7.1
|
33 |
🔸 Tested OK with PHP 7.3.5
|
34 |
|
35 |
Highlights: WordPress Users Export, WordPress Users CSV Import Suite, Export WordPress Users to CSV. Pro Version supports export and import of all additional user meta like WooCommerce details.
|
36 |
|
37 |
= How does it work? =
|
38 |
|
39 |
+
The Import Export WordPress Users Plugin takes CSV (Comma-Separated Values) file as input. You must create a CSV file and enter the user details in a structured format as explained in the tutorial. This is to match each field of CSV file to the field of a particular user fields , otherwise Admin need to input manually. For example, the user_email field gets mapped to the User Email. For the plugin to work correctly, you must map headers of all the column correctly and you must ensure that all of the fields you enter is in the correct format.
|
40 |
|
41 |
You can create the CSV from the scratch or you can export the users to get the format of CSV. You can use a spreadsheet program, such as Microsoft Excel, OpenOffice, LibreOffice or Google Spreadsheets for creating and modifying the CSV file. Save this file in UTF-8 encoding with extension .CSV. After entering all details about users in spreadsheet, you can bulk import users to your online Site/Store. With this plugin, you can also export and download user details as a CSV file.
|
42 |
|
43 |
|
44 |
|
45 |
+
More information about the set up of the plugin and a sample CSV that is taken as input by the plugin is given in the <a rel="nofollow" href="https://www.webtoffee.com/user-import-export-plugin-wordpress-user-guide/">WordPress Users & WooCommerce Customers Import Export Plugin - User Guide.</a>
|
46 |
|
47 |
= Premium version Features =
|
48 |
|
49 |
<blockquote>
|
50 |
|
51 |
+
✅ Import Export WordPress Users & WooCommerce Customers
|
52 |
+
✅ Export/Import WooCommerce User/Customer details into CSV and XML format. (Basic version supports only CSV Import-export)
|
53 |
+
✅ Option to choose All Roles or Multiple Roles while export.
|
54 |
+
✅ Various Filter options (User Roles, User Email, Date Range, Offset/Limit, Guest Users, Ascending/Descending Sort) for exporting Customers/Users.
|
|
|
55 |
✅ Map and Transform fields while Importing Customers.
|
56 |
✅ Change values while importing Customers using Evaluation Fields.
|
57 |
+
✅ Export User Meta. (custom fields and hidden metadata supported in addition to other user data)
|
58 |
✅ Choice to Update or Skip existing imported Customers.
|
59 |
+
✅ Bulk update existing customers/user data.
|
60 |
+
✅ Choice to Send or Skip emails for newly imported Customers.
|
61 |
✅ WPML Supported. French language support Out of the Box.
|
62 |
+
✅ Export Import users/customers to/from a remote server via FTP in Scheduled time interval with Cron Job.
|
63 |
+
✅ Supports Import from URL.
|
64 |
✅ Third party plugin customization support.</li>
|
65 |
✅ Compatible with BuddyPress, Ultimate Member, Ultimate Membership Pro, Better Notifications for WP, Advanced Custom Fields (ACF) etc.</li>
|
66 |
✅ Excellent Support for setting it up!
|
68 |
|
69 |
Please visit <a rel="nofollow" href="https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/">Import Export WordPress Users & WooCommerce Customers</a> for more details
|
70 |
|
71 |
+
Tags: CSV import, CSV export, customer import, customer export, user import, user export, WooCommerce, WordPress.
|
72 |
+
|
73 |
</blockquote>
|
74 |
|
75 |
**Use Cases Handled**
|
80 |
|
81 |
✅ User Export - WordPress Export Users to CSV.</li>
|
82 |
✅ User Import - WordPress Import Users from CSV.</li>
|
83 |
+
✅ Customer Export - WooCommerce Export Customers to CSV.</li>
|
84 |
+
✅ Customer Import - WooCommerce Import Customers from CSV.</li>
|
85 |
|
86 |
|
87 |
WordPress Export Users to CSV
|
88 |
|
89 |
+
With this WordPress export plugin, you can export WordPress users from WordPress site and generate a CSV file. Use this CSV file to migrate users to another WordPress site by first using the WordPress Export Users functionality and then WordPress import users or merge users (update existing users) functionality of this plugin. If you have hundreds, even thousands, of WordPress users, this helps to save your effort and time of manually adding user information.
|
90 |
|
91 |
+
You can bulk export users details to CSV file with multiple powerful filters such as User Roles, date ranges, etc. Even the plugin automatically upload your exports via FTP(premium).
|
92 |
|
93 |
WordPress Import Users from CSV
|
94 |
|
95 |
+
You can import WordPress users to your WordPress site from other platforms easily and quickly using this WordPress CSV importer plugin. Use WordPress import users feature or merge users (update existing users) hundreds, even thousands, of WordPress users details using one file which saves your effort and time of manually adding user information.
|
96 |
|
97 |
+
This WordPress import plugin has the option to send an Email to the user email ID whenever the admin imports/updates users details.
|
98 |
|
99 |
+
You can map your import columns to the appropriate WordPress data to import or merge user details. You can also import data from a variety of sources, such as an uploaded CSV file on FTP (Premium), locally saved CSV file to your computer.
|
100 |
|
101 |
For importing WordPress user details to your website, you must create a CSV(Comma-Separated Values) file which contains information about mapping fields in a tabular form. You can create CSV file by using a spreadsheet program, such as Excel, or Google Spreadsheets. Save this file with extension .CSV. After entering all details about WordPress users in the spreadsheet, you can import to your website.
|
102 |
|
103 |
WooCommerce Export Customers to CSV (Premium)
|
104 |
|
105 |
+
You can export WooCommerce customer list from WordPress/WooCommerce site and generate a CSV file. Use this CSV file to migrate customers to another online store by WordPress import customers functionality or merge customers (update existing customers-premium) functionality of this plugin. If you have hundreds, even thousands, of WooCommerce Customers, this helps to save your effort and time of manually adding the WooCommerce customer list.
|
106 |
|
107 |
Plugin can easily export customers details to CSV file by filtering customers by user role. Even the plugin automatically upload your exports via FTP.
|
108 |
|
110 |
|
111 |
You can import WooCommerce customers to WordPress/WooCommerce site easily. WooCommerce import customers feature or merge customers feature (update existing customers) help move or update hundreds, even thousands, of customers details using one file which saves your effort and time of manually adding user information.
|
112 |
|
113 |
+
The plugin has the option to send an Email to the user email ID whenever the admin imports/updates customer details (premium).
|
114 |
|
115 |
+
You can map your import columns to the appropriate WooCommerce data to import or merge customer details. You can also import data from a variety of sources, such as an uploaded CSV file on FTP (Premium), locally saved CSV file to your computer.
|
116 |
|
117 |
For importing WooCommerce customer details to your website, you must create a CSV(Comma-Separated Values) file which contains information about mapping fields in a tabular form. You can create CSV file by using a spreadsheet program, such as Excel, or Google Spreadsheets. Save this file with extension .CSV. After entering all details about WooCommerce users in the spreadsheet, you can import to your website.
|
118 |
|
119 |
+
= Import/Export/Migration Plugins for WooCommerce from WebToffee =
|
120 |
+
|
121 |
+
|
122 |
+
🔸 <a href="https://wordpress.org/plugins/webtoffee-product-feed/">WebToffee Product Feed for Facebook</a>: This plugin allows you to sync your WooCommerce Products to your Facebook Business Manager account.
|
123 |
+
🔸 <a href="https://wordpress.org/plugins/product-import-export-for-woo/">WooCommerce Product Import Export Plugin</a>: Easily import and export products to/from your WooCommerce store using a CSV file.
|
124 |
+
🔸 <a href="https://wordpress.org/plugins/product-reviews-import-export-for-woocommerce/">Product Review Import Export for WooCommerce</a>: Import and Export product reviews quickly using a CSV file to and from your WooCommerce store.
|
125 |
+
🔸 <a href="https://wordpress.org/plugins/order-import-export-for-woocommerce/">WooCommerce Order/Coupon/Subscription Import Export</a>: The plugin lets you export and import orders and coupons via CSV to and from your WooCommerce store.
|
126 |
+
🔸 <a href="https://wordpress.org/plugins/order-xml-file-export-import-for-woocommerce/">Order XML File Export Import for WooCommerce</a>: Import and export your WooCommerce orders in XML format supported by Stamps.com, UPS WorldShip, Endicia, and FedEx.
|
127 |
+
🔸 <a href="https://wordpress.org/plugins/xml-file-export-import-for-stampscom-and-woocommerce/">XML File Export Import for Stamps.com and WooCommerce</a>: The plugin lets you easily export and import orders in your store via XML compatible to Stamps.com.
|
128 |
+
🔸 <a href="https://wordpress.org/plugins/comments-import-export-woocommerce/">WordPress Comments Import & Export</a>: Easily import and export WordPress comments using this comment import export plugin.
|
129 |
+
|
130 |
+
|
131 |
= About WebToffee.com =
|
132 |
|
133 |
<a rel="nofollow" href="https://www.webtoffee.com/">WebToffee</a> creates quality WordPress/WooCommerce plugins that are easy to use and customize. We are proud to have thousands of customers actively using our plugins across the globe.
|
178 |
|
179 |
== Screenshots ==
|
180 |
|
181 |
+
1. WordPress export users screen
|
182 |
+
|
183 |
+
2. WordPress import users screen
|
184 |
+
|
185 |
+
3. Map or reorder columns on export for WordPress user export
|
186 |
+
|
187 |
+
4. WordPress user export in batches
|
188 |
|
189 |
+
5. Bulk update WordPress users on import
|
190 |
+
|
191 |
+
6. Retain WordPress user passwords and batch import
|
192 |
+
|
193 |
+
7. WordPress export import general settings
|
194 |
+
|
195 |
+
8. WordPress CSV import export history
|
196 |
|
|
|
197 |
|
198 |
== Changelog ==
|
199 |
+
= 2.0.3 =
|
200 |
+
* Fix: Issue with importing user roles.
|
201 |
+
* Improvement: Added more filters for export.
|
202 |
+
* Tested OK with WP 5.6
|
203 |
+
* Tested OK with WC 4.7.1
|
204 |
+
* Version 2.0.0 onward has been revamped majorly.
|
205 |
= 2.0.2 =
|
206 |
* Fix: Batch count issue for quick export.
|
207 |
* Fix: Issue with password migration for quick import.
|
331 |
|
332 |
== Upgrade Notice ==
|
333 |
|
334 |
+
= 2.0.3 =
|
335 |
+
* Fix: Issue with importing user roles.
|
336 |
+
* Improvement: Added more filters for export.
|
337 |
+
* Tested OK with WP 5.6
|
338 |
+
* Tested OK with WC 4.7.1
|
339 |
* Version 2.0.0 onward has been revamped majorly.
|
user_import_export_review_request.php
ADDED
@@ -0,0 +1,252 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Review request
|
5 |
+
*
|
6 |
+
*
|
7 |
+
* @package Cookie_Law_Info
|
8 |
+
*/
|
9 |
+
if (!defined('ABSPATH')) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
class User_import_export_Review_Request
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* config options
|
16 |
+
*/
|
17 |
+
private $plugin_title = "WordPress Users & WooCommerce Customers Import Export(BASIC)";
|
18 |
+
private $review_url = "https://wordpress.org/support/plugin/users-customers-import-export-for-wp-woocommerce/reviews/#new-post";
|
19 |
+
private $plugin_prefix = "wt_u_iew_basic"; /* must be unique name */
|
20 |
+
private $activation_hook = "wt_u_iew_basic_activate"; /* hook for activation, to store activated date */
|
21 |
+
private $deactivation_hook = "wt_u_iew_basic_deactivate"; /* hook for deactivation, to delete activated date */
|
22 |
+
private $days_to_show_banner = 7; /* when did the banner to show */
|
23 |
+
private $remind_days = 3; /* remind interval in days */
|
24 |
+
private $webtoffee_logo_url = WT_U_IEW_PLUGIN_URL.'assets/images/webtoffee-logo_small.png';
|
25 |
+
|
26 |
+
|
27 |
+
|
28 |
+
private $start_date = 0; /* banner to show count start date. plugin installed date, remind me later added date */
|
29 |
+
private $current_banner_state = 2; /* 1: active, 2: waiting to show(first after installation), 3: closed by user/not interested to review, 4: user done the review, 5:remind me later */
|
30 |
+
private $banner_state_option_name = ''; /* WP option name to save banner state */
|
31 |
+
private $start_date_option_name = ''; /* WP option name to save start date */
|
32 |
+
private $banner_css_class = ''; /* CSS class name for Banner HTML element. */
|
33 |
+
private $banner_message = ''; /* Banner message. */
|
34 |
+
private $later_btn_text = ''; /* Remind me later button text */
|
35 |
+
private $never_btn_text = ''; /* Never review button text. */
|
36 |
+
private $review_btn_text = ''; /* Review now button text. */
|
37 |
+
private $ajax_action_name = ''; /* Name of ajax action to save banner state. */
|
38 |
+
private $allowed_action_type_arr = array(
|
39 |
+
'later', /* remind me later */
|
40 |
+
'never', /* never */
|
41 |
+
'review', /* review now */
|
42 |
+
'closed', /* not interested */
|
43 |
+
);
|
44 |
+
|
45 |
+
public function __construct()
|
46 |
+
{
|
47 |
+
//Set config vars
|
48 |
+
$this->set_vars();
|
49 |
+
|
50 |
+
add_action($this->activation_hook, array($this, 'on_activate'));
|
51 |
+
add_action($this->deactivation_hook, array($this, 'on_deactivate'));
|
52 |
+
|
53 |
+
if ($this->check_condition()) /* checks the banner is active now */ {
|
54 |
+
$this->banner_message = sprintf(__("Hey, we at %sWebToffee%s would like to thank you for using our plugin. We would really appreciate if you could take a moment to drop a quick review that will inspire us to keep going."), '<b>', '</b>');
|
55 |
+
|
56 |
+
/* button texts */
|
57 |
+
$this->later_btn_text = __("Remind me later");
|
58 |
+
$this->never_btn_text = __("Not interested");
|
59 |
+
$this->review_btn_text = __("Review now");
|
60 |
+
|
61 |
+
add_action('admin_notices', array($this, 'show_banner')); /* show banner */
|
62 |
+
add_action('admin_print_footer_scripts', array($this, 'add_banner_scripts')); /* add banner scripts */
|
63 |
+
add_action('wp_ajax_' . $this->ajax_action_name, array($this, 'process_user_action')); /* process banner user action */
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Set config vars
|
69 |
+
*/
|
70 |
+
public function set_vars()
|
71 |
+
{
|
72 |
+
$this->ajax_action_name = $this->plugin_prefix . '_process_user_review_action';
|
73 |
+
$this->banner_state_option_name = $this->plugin_prefix . "_review_request";
|
74 |
+
$this->start_date_option_name = $this->plugin_prefix . "_start_date";
|
75 |
+
$this->banner_css_class = $this->plugin_prefix . "_review_request";
|
76 |
+
|
77 |
+
$this->start_date = absint(get_option($this->start_date_option_name));
|
78 |
+
$banner_state = absint(get_option($this->banner_state_option_name));
|
79 |
+
$this->current_banner_state = ($banner_state == 0 ? $this->current_banner_state : $banner_state);
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Actions on plugin activation
|
84 |
+
* Saves activation date
|
85 |
+
*/
|
86 |
+
public function on_activate()
|
87 |
+
{
|
88 |
+
$this->reset_start_date();
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Actions on plugin deactivation
|
93 |
+
* Removes activation date
|
94 |
+
*/
|
95 |
+
public function on_deactivate()
|
96 |
+
{
|
97 |
+
delete_option($this->start_date_option_name);
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Reset the start date.
|
102 |
+
*/
|
103 |
+
private function reset_start_date()
|
104 |
+
{
|
105 |
+
update_option($this->start_date_option_name, time());
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Update the banner state
|
110 |
+
*/
|
111 |
+
private function update_banner_state($val)
|
112 |
+
{
|
113 |
+
update_option($this->banner_state_option_name, $val);
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Prints the banner
|
118 |
+
*/
|
119 |
+
public function show_banner()
|
120 |
+
{
|
121 |
+
$this->update_banner_state(1); /* update banner active state */
|
122 |
+
?>
|
123 |
+
<div class="<?php echo $this->banner_css_class; ?> notice-info notice is-dismissible">
|
124 |
+
<?php
|
125 |
+
if ($this->webtoffee_logo_url != "") {
|
126 |
+
?>
|
127 |
+
<h3 style="margin: 10px 0;"><?php echo $this->plugin_title; ?></h3>
|
128 |
+
<?php
|
129 |
+
}
|
130 |
+
?>
|
131 |
+
<p>
|
132 |
+
<?php echo $this->banner_message; ?>
|
133 |
+
</p>
|
134 |
+
<p>
|
135 |
+
<a class="button button-secondary" style="color:#333; border-color:#ccc; background:#efefef;" data-type="later"><?php echo $this->later_btn_text; ?></a>
|
136 |
+
<a class="button button-primary" data-type="review"><?php echo $this->review_btn_text; ?></a>
|
137 |
+
</p>
|
138 |
+
<div class="wt-cli-review-footer" style="position: relative;">
|
139 |
+
<span class="wt-cli-footer-icon" style="position: absolute;right: 0;bottom: 10px;"><img src="<?php echo $this->webtoffee_logo_url; ?>" style="max-width:100px;"></span>
|
140 |
+
</div>
|
141 |
+
</div>
|
142 |
+
<?php
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Ajax hook to process user action on the banner
|
147 |
+
*/
|
148 |
+
public function process_user_action()
|
149 |
+
{
|
150 |
+
check_ajax_referer($this->plugin_prefix);
|
151 |
+
if (isset($_POST['wt_review_action_type'])) {
|
152 |
+
$action_type = sanitize_text_field($_POST['wt_review_action_type']);
|
153 |
+
|
154 |
+
/* current action is in allowed action list */
|
155 |
+
if (in_array($action_type, $this->allowed_action_type_arr)) {
|
156 |
+
if ($action_type == 'never' || $action_type == 'closed') {
|
157 |
+
$new_banner_state = 3;
|
158 |
+
} elseif ($action_type == 'review') {
|
159 |
+
$new_banner_state = 4;
|
160 |
+
} else {
|
161 |
+
/* reset start date to current date */
|
162 |
+
$this->reset_start_date();
|
163 |
+
$new_banner_state = 5; /* remind me later */
|
164 |
+
}
|
165 |
+
$this->update_banner_state($new_banner_state);
|
166 |
+
}
|
167 |
+
}
|
168 |
+
exit();
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Add banner JS to admin footer
|
173 |
+
*/
|
174 |
+
public function add_banner_scripts()
|
175 |
+
{
|
176 |
+
$ajax_url = admin_url('admin-ajax.php');
|
177 |
+
$nonce = wp_create_nonce($this->plugin_prefix);
|
178 |
+
?>
|
179 |
+
<script type="text/javascript">
|
180 |
+
(function($) {
|
181 |
+
"use strict";
|
182 |
+
|
183 |
+
/* prepare data object */
|
184 |
+
var data_obj = {
|
185 |
+
_wpnonce: '<?php echo $nonce; ?>',
|
186 |
+
action: '<?php echo $this->ajax_action_name; ?>',
|
187 |
+
wt_review_action_type: ''
|
188 |
+
};
|
189 |
+
|
190 |
+
$(document).on('click', '.<?php echo $this->banner_css_class; ?> a.button', function(e) {
|
191 |
+
e.preventDefault();
|
192 |
+
var elm = $(this);
|
193 |
+
var btn_type = elm.attr('data-type');
|
194 |
+
if (btn_type == 'review') {
|
195 |
+
window.open('<?php echo $this->review_url; ?>');
|
196 |
+
}
|
197 |
+
elm.parents('.<?php echo $this->banner_css_class; ?>').hide();
|
198 |
+
|
199 |
+
data_obj['wt_review_action_type'] = btn_type;
|
200 |
+
$.ajax({
|
201 |
+
url: '<?php echo $ajax_url; ?>',
|
202 |
+
data: data_obj,
|
203 |
+
type: 'POST'
|
204 |
+
});
|
205 |
+
|
206 |
+
}).on('click', '.<?php echo $this->banner_css_class; ?> .notice-dismiss', function(e) {
|
207 |
+
e.preventDefault();
|
208 |
+
data_obj['wt_review_action_type'] = 'closed';
|
209 |
+
$.ajax({
|
210 |
+
url: '<?php echo $ajax_url; ?>',
|
211 |
+
data: data_obj,
|
212 |
+
type: 'POST',
|
213 |
+
});
|
214 |
+
|
215 |
+
});
|
216 |
+
|
217 |
+
})(jQuery)
|
218 |
+
</script>
|
219 |
+
<?php
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Checks the condition to show the banner
|
224 |
+
*/
|
225 |
+
private function check_condition()
|
226 |
+
{
|
227 |
+
|
228 |
+
if ($this->current_banner_state == 1) /* currently showing then return true */ {
|
229 |
+
return true;
|
230 |
+
}
|
231 |
+
|
232 |
+
if ($this->current_banner_state == 2 || $this->current_banner_state == 5) /* only waiting/remind later state */ {
|
233 |
+
if ($this->start_date == 0) /* unable to get activated date */ {
|
234 |
+
/* set current date as activation date*/
|
235 |
+
$this->reset_start_date();
|
236 |
+
return false;
|
237 |
+
}
|
238 |
+
|
239 |
+
$days = ($this->current_banner_state == 2 ? $this->days_to_show_banner : $this->remind_days);
|
240 |
+
|
241 |
+
$date_to_check = $this->start_date + (86400 * $days);
|
242 |
+
if ($date_to_check <= time()) /* time reached to show the banner */ {
|
243 |
+
return true;
|
244 |
+
} else {
|
245 |
+
return false;
|
246 |
+
}
|
247 |
+
}
|
248 |
+
|
249 |
+
return false;
|
250 |
+
}
|
251 |
+
}
|
252 |
+
new User_import_export_Review_Request();
|
users-customers-import-export-for-wp-woocommerce.php
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
Description: Export and Import User/Customers details From and To your WordPress/WooCommerce.
|
7 |
Author: WebToffee
|
8 |
Author URI: https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/
|
9 |
-
Version: 2.0.
|
10 |
-
WC tested up to: 4.7.
|
11 |
Text Domain: users-customers-import-export-for-wp-woocommerce
|
12 |
License: GPLv3
|
13 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
@@ -43,7 +43,7 @@ if ( ! defined( 'WT_IEW_DEBUG_BASIC' ) ) {
|
|
43 |
* Start at version 1.0.0 and use SemVer - https://semver.org
|
44 |
* Rename this for your plugin and update it as you release new versions.
|
45 |
*/
|
46 |
-
define( 'WT_U_IEW_VERSION', '2.0.
|
47 |
|
48 |
/**
|
49 |
* The code that runs during plugin activation.
|
@@ -159,3 +159,5 @@ $user_egecy_menu->banner_message = sprintf(__("We have introduced a new main men
|
|
159 |
$user_egecy_menu->old_menu_params = array(array('parent_slug'=>'users.php', 'menu_title'=>'User Import Export', 'capability'=>'list_users'),
|
160 |
array('parent_slug'=>'woocommerce', 'menu_title'=>'Customer Import Export', 'capability'=>'manage_woocommerce')
|
161 |
);
|
|
|
|
6 |
Description: Export and Import User/Customers details From and To your WordPress/WooCommerce.
|
7 |
Author: WebToffee
|
8 |
Author URI: https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/
|
9 |
+
Version: 2.0.3
|
10 |
+
WC tested up to: 4.7.1
|
11 |
Text Domain: users-customers-import-export-for-wp-woocommerce
|
12 |
License: GPLv3
|
13 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
43 |
* Start at version 1.0.0 and use SemVer - https://semver.org
|
44 |
* Rename this for your plugin and update it as you release new versions.
|
45 |
*/
|
46 |
+
define( 'WT_U_IEW_VERSION', '2.0.3' );
|
47 |
|
48 |
/**
|
49 |
* The code that runs during plugin activation.
|
159 |
$user_egecy_menu->old_menu_params = array(array('parent_slug'=>'users.php', 'menu_title'=>'User Import Export', 'capability'=>'list_users'),
|
160 |
array('parent_slug'=>'woocommerce', 'menu_title'=>'Customer Import Export', 'capability'=>'manage_woocommerce')
|
161 |
);
|
162 |
+
|
163 |
+
include_once 'user_import_export_review_request.php';
|