Import Export WordPress Users and WooCommerce Customers - Version 2.2.5

Version Description

  • WC 6.1 Tested OK
  • Add - Export guest users option.
  • Fix - user_status column value export.
Download this release

Release Info

Developer webtoffee
Plugin Icon 128x128 Import Export WordPress Users and WooCommerce Customers
Version 2.2.5
Comparing to
See all releases

Code changes from version 2.2.4 to 2.2.5

Sample_Users.csv CHANGED
@@ -1,2 +1,2 @@
1
- ID,customer_id,user_login,user_pass,user_nicename,user_email,user_url,user_registered,display_name,first_name,last_name,user_status,roles,nickname,description,rich_editing,syntax_highlighting,admin_color,use_ssl,show_admin_bar_front,locale,wp_user_level,dismissed_wp_pointers,last_update
2
- 9,9,Mark,$P$By6K6/oknjRBovyyxs3sCDogZgO6ST1,mark,mark@webtoffee.com,http://www.webtoffee.com,2020-10-01 11:52:04,Mark,Mark,Wough,,"subscriber, customer",,,,,,,,,,,
1
+ "user_login","user_pass","user_nicename","user_email","user_url","user_registered","display_name","first_name","last_name","user_status","roles"
2
+ "mark_webtoffee","mark@1234","mark","mark@webtoffee.com","http://www.webtoffee.com","2020-10-01 11:52:04","Mark","Mark","WebToffee",1,"subscriber, customer"
admin/css/wt-import-export-for-woo-admin.css CHANGED
@@ -541,7 +541,7 @@ img.tips {
541
  margin: 20px auto 20px;
542
  text-align: center;
543
  }
544
- .wt-ierpro-blue-btn{
545
  background: linear-gradient(90.67deg, #2608DF -34.86%, #3284FF 115.74%);
546
  box-shadow: 0px 4px 13px rgba(46, 80, 242, 0.39);
547
  border-radius: 5px;
@@ -620,9 +620,9 @@ img.tips {
620
  ul.wt-ierpro-newfeat li {
621
  margin-bottom: 30px;
622
  }
623
- .wt-ierpro-outline-btn{
624
- border: 1px solid #007FFF;
625
- background: #fff;
626
  border-radius: 5px;
627
  padding: 10px 15px 10px 38px;
628
  display: inline-block;
@@ -630,28 +630,29 @@ ul.wt-ierpro-newfeat li {
630
  font-weight: bold;
631
  font-size: 14px;
632
  line-height: 18px;
633
- color: #007FFF;
634
  text-decoration: none;
635
  transition: all .2s ease;
636
  position: relative;
637
- background: transparent;
638
  }
639
  .wt-ierpro-outline-btn:before{
640
  content: '';
641
  position: absolute;
642
  height: 15px;
643
  width: 18px;
644
- background-image: url(../../assets/images/gopro/blue-crown.svg);
645
  background-size: contain;
646
  background-repeat: no-repeat;
647
  background-position: center;
648
  left: 15px;
649
  }
650
  .wt-ierpro-outline-btn:hover{
 
651
  text-decoration: none;
652
  transform: translateY(2px);
653
  transition: all .2s ease;
654
- color: #007FFF;
655
  }
656
 
657
 
541
  margin: 20px auto 20px;
542
  text-align: center;
543
  }
544
+ .wt-ierpro-blue-btn, .wt-ierpro-blue-btn:visited{
545
  background: linear-gradient(90.67deg, #2608DF -34.86%, #3284FF 115.74%);
546
  box-shadow: 0px 4px 13px rgba(46, 80, 242, 0.39);
547
  border-radius: 5px;
620
  ul.wt-ierpro-newfeat li {
621
  margin-bottom: 30px;
622
  }
623
+ .wt-ierpro-outline-btn, .wt-ierpro-outline-btn:visited{
624
+ background: linear-gradient(90.67deg, #2608DF -34.86%, #3284FF 115.74%);
625
+ box-shadow: 0px 4px 13px rgba(46, 80, 242, 0.39);
626
  border-radius: 5px;
627
  padding: 10px 15px 10px 38px;
628
  display: inline-block;
630
  font-weight: bold;
631
  font-size: 14px;
632
  line-height: 18px;
633
+ color: #FFFFFF;
634
  text-decoration: none;
635
  transition: all .2s ease;
636
  position: relative;
637
+ border: none;
638
  }
639
  .wt-ierpro-outline-btn:before{
640
  content: '';
641
  position: absolute;
642
  height: 15px;
643
  width: 18px;
644
+ background-image: url(../../assets/images/gopro/white-crown.svg);
645
  background-size: contain;
646
  background-repeat: no-repeat;
647
  background-position: center;
648
  left: 15px;
649
  }
650
  .wt-ierpro-outline-btn:hover{
651
+ box-shadow: 0px 4px 13px rgba(46, 80, 242, 0.5);
652
  text-decoration: none;
653
  transform: translateY(2px);
654
  transition: all .2s ease;
655
+ color: #FFFFFF;
656
  }
657
 
658
 
admin/modules/export/assets/js/main.js CHANGED
@@ -268,8 +268,12 @@ var wt_iew_basic_export=(function( $ ) {
268
  {
269
  if(data.finished==1)
270
  {
271
- wt_iew_basic_export.set_export_progress_info(data.msg);
 
 
 
272
  wt_iew_notify_msg.success(wt_iew_basic_params.msgs.success);
 
273
 
274
  }
275
  else if(data.finished==2) /* Remote export */
268
  {
269
  if(data.finished==1)
270
  {
271
+ if(data.no_post==1){
272
+ alert(data.msg);
273
+ }else{
274
+ wt_iew_basic_export.set_export_progress_info(data.msg);
275
  wt_iew_notify_msg.success(wt_iew_basic_params.msgs.success);
276
+ }
277
 
278
  }
279
  else if(data.finished==2) /* Remote export */
admin/modules/export/export.php CHANGED
@@ -48,7 +48,7 @@ class Wt_Import_Export_For_Woo_Basic_Export
48
  (
49
  'post_type'=>array(
50
  'title'=>__('Select a post type'),
51
- 'description'=>__('Export and download the respective post type into a CSV. This file can also be used to import data related to the specific post type back into your WordPress/WooCommerce site. As a first step you need to choose the post type to start the export.'),
52
  ),
53
  'method_export'=>array(
54
  'title'=>__('Select an export method'),
@@ -81,8 +81,8 @@ class Wt_Import_Export_For_Woo_Basic_Export
81
 
82
  $this->export_methods=array(
83
  'quick'=>array('title'=>__('Quick export'), 'description'=> __('Exports all the basic fields.')),
84
- 'template'=>array('title'=>__('Pre-saved template'), 'description'=> __('Exports data as per the specifications(filters,selective column,mapping etc) from the previously saved file.')),
85
- 'new'=>array('title'=>__('Advanced export'), 'description'=> __('Exports data after a detailed process of data filtering/column selection/advanced options that may be required for your export. You can also save this selection for future use.')),
86
  );
87
 
88
  /* advanced plugin settings */
@@ -686,7 +686,11 @@ class Wt_Import_Export_For_Woo_Basic_Export
686
  }
687
 
688
  $msg.='<a class="button button-secondary" style="margin-top:10px;" onclick="wt_iew_basic_export.hide_export_info_box();" target="_blank" href="'.$out['file_url'].'" >'.__('Download file').'</a></span>';
689
-
 
 
 
 
690
  $out['msg']=$msg;
691
 
692
  /* updating finished status */
48
  (
49
  'post_type'=>array(
50
  'title'=>__('Select a post type'),
51
+ 'description'=>__('Export and download the data for the respective post type into a CSV file. As per the selected post type, we can use this exported CSV file to import data to your site.'),
52
  ),
53
  'method_export'=>array(
54
  'title'=>__('Select an export method'),
81
 
82
  $this->export_methods=array(
83
  'quick'=>array('title'=>__('Quick export'), 'description'=> __('Exports all the basic fields.')),
84
+ 'template'=>array('title'=>__('Pre-saved template'), 'description'=> __('Exports data as per the specifications(filters, selective column,mapping etc) of the template saved during the previous Advanced exports. To change the settings, move to filter data.')),
85
+ 'new'=>array('title'=>__('Advanced export'), 'description'=> __('Exports data after a detailed process of filtration, column selection and advanced options. The configured settings can be saved as a template for future exports.')),
86
  );
87
 
88
  /* advanced plugin settings */
686
  }
687
 
688
  $msg.='<a class="button button-secondary" style="margin-top:10px;" onclick="wt_iew_basic_export.hide_export_info_box();" target="_blank" href="'.$out['file_url'].'" >'.__('Download file').'</a></span>';
689
+ if( 0 == $total_records && isset( $export_data['no_post'] ) ){
690
+
691
+ $out['no_post'] = true;
692
+ $msg = $export_data['no_post'];
693
+ }
694
  $out['msg']=$msg;
695
 
696
  /* updating finished status */
admin/modules/history/history.php CHANGED
@@ -216,7 +216,7 @@ class Wt_Import_Export_For_Woo_Basic_History
216
  'value' =>1,
217
  'field_name'=>'enable_history_auto_delete',
218
  'field_group'=>'advanced_field',
219
- 'help_text'=>__('Enable auto delete for records within the history section.'),
220
  'validation_rule'=>array('type'=>'absint'),
221
  'form_toggler'=>array(
222
  'type'=>'parent',
216
  'value' =>1,
217
  'field_name'=>'enable_history_auto_delete',
218
  'field_group'=>'advanced_field',
219
+ 'help_text'=>__('Enabling this option will delete records from the history section upon reaching the count mentioned in Maximum entries.'),
220
  'validation_rule'=>array('type'=>'absint'),
221
  'form_toggler'=>array(
222
  'type'=>'parent',
admin/modules/import/import.php CHANGED
@@ -57,7 +57,7 @@ class Wt_Import_Export_For_Woo_Basic_Import
57
  $this->steps=array(
58
  'post_type'=>array(
59
  'title'=>__('Select a post type'),
60
- 'description'=>__('Import the respective post type from a CSV. As a first step you need to choose the post type to start the import.'),
61
  ),
62
  'method_import'=>array(
63
  'title'=>__('Select import method'),
@@ -74,9 +74,9 @@ class Wt_Import_Export_For_Woo_Basic_Import
74
  );
75
 
76
  $this->import_methods=array(
77
- 'quick'=>array('title'=>__('Quick import'), 'description'=> __('Use this option primarily when your input file was exported using the same plugin.')),
78
- 'template'=>array('title'=>__('Pre-saved template'), 'description'=> __('Using a pre-saved template retains the previous filter criteria and other column specifications as per the chosen file and imports data accordingly')),
79
- 'new'=>array('title'=>__('Advanced Import'), 'description'=> __('This option will take you through the entire process of filtering/column selection/advanced options that may be required for your import. You can also save your selections as a template for future use.')),
80
  );
81
 
82
  $this->step_need_validation_filter=array('method_import', 'mapping', 'advanced');
@@ -127,7 +127,7 @@ class Wt_Import_Export_For_Woo_Basic_Import
127
  'value' =>1,
128
  'field_name'=>'enable_import_log',
129
  'field_group'=>'advanced_field',
130
- 'help_text'=>__('Generate import log as text file and make it available in the history section for debugging purposes.'),
131
  'validation_rule'=>array('type'=>'absint'),
132
  );
133
  $import_methods=array_map(function($vl){ return $vl['title']; }, $this->import_methods);
57
  $this->steps=array(
58
  'post_type'=>array(
59
  'title'=>__('Select a post type'),
60
+ 'description'=>__('Use a CSV file to import data. As a first step, select the post type.'),
61
  ),
62
  'method_import'=>array(
63
  'title'=>__('Select import method'),
74
  );
75
 
76
  $this->import_methods=array(
77
+ 'quick'=>array('title'=>__('Quick import'), 'description'=> __('Use this option primarily if you exported the input file using the same plugin.')),
78
+ 'template'=>array('title'=>__('Pre-saved template'), 'description'=> __('Retains the filter parameters and column specifications as per the chosen template and imports data accordingly.')),
79
+ 'new'=>array('title'=>__('Advanced Import'), 'description'=> __('Imports data after a detailed process of filtration, column selection and advanced options. The configured settings can be saved as a template for future imports.')),
80
  );
81
 
82
  $this->step_need_validation_filter=array('method_import', 'mapping', 'advanced');
127
  'value' =>1,
128
  'field_name'=>'enable_import_log',
129
  'field_group'=>'advanced_field',
130
+ 'help_text'=>__("You can view the logs in the <a href=" . admin_url('admin.php?page=wt_import_export_for_woo_basic_history_log') . "><b>Logs</b></a> section or in History >View logs."),
131
  'validation_rule'=>array('type'=>'absint'),
132
  );
133
  $import_methods=array_map(function($vl){ return $vl['title']; }, $this->import_methods);
admin/modules/user/export/export.php CHANGED
@@ -8,8 +8,9 @@ if(!class_exists('Wt_Import_Export_For_Woo_basic_User_Export')){
8
  class Wt_Import_Export_For_Woo_basic_User_Export {
9
 
10
  public $parent_module = null;
 
11
 
12
- public function __construct($parent_object) {
13
 
14
  $this->parent_module = $parent_object;
15
  }
@@ -33,6 +34,8 @@ class Wt_Import_Export_For_Woo_basic_User_Export {
33
  $export_start_date = !empty($form_data['filter_form_data']['wt_iew_date_from']) ? $form_data['filter_form_data']['wt_iew_date_from'] : '';
34
  $export_end_date = !empty($form_data['filter_form_data']['wt_iew_date_to']) ? $form_data['filter_form_data']['wt_iew_date_to'] : '';
35
 
 
 
36
  $export_limit = !empty($form_data['filter_form_data']['wt_iew_limit']) ? intval($form_data['filter_form_data']['wt_iew_limit']) : 999999999; //user limit
37
  $current_offset = !empty($form_data['filter_form_data']['wt_iew_offset']) ? intval($form_data['filter_form_data']['wt_iew_offset']) : 0; //user offset
38
  $batch_count = !empty($form_data['advanced_form_data']['wt_iew_batch_count']) ? $form_data['advanced_form_data']['wt_iew_batch_count'] : Wt_Import_Export_For_Woo_Basic_Common_Helper::get_advanced_settings('default_export_batch');
@@ -112,15 +115,58 @@ class Wt_Import_Export_For_Woo_basic_User_Export {
112
  $total_item_args['offset']=$current_offset; //user given offset
113
  $total_record_count = get_users($total_item_args);
114
  $total_records=count($total_record_count);
 
115
  }
116
-
117
-
118
  // Loop users
119
  foreach ($users as $user) {
120
  $data = self::get_customers_csv_row($user);
121
  $data_array[] = apply_filters('hf_customer_csv_exclude_admin', $data);
122
  }
123
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  $return['total'] = $total_records;
125
  $return['data'] = $data_array;
126
  return $return;
@@ -155,7 +201,7 @@ class Wt_Import_Export_For_Woo_basic_User_Export {
155
  continue;
156
  }
157
 
158
- $customer_data[$key] = !empty($user->{$key}) ? maybe_serialize($user->{$key}) : '';
159
  }
160
  /*
161
  * CSV Customer Export Row.
@@ -166,20 +212,29 @@ class Wt_Import_Export_For_Woo_basic_User_Export {
166
  return apply_filters('hf_customer_csv_export_data', $customer_data, $csv_columns);
167
  }
168
 
 
 
 
 
 
 
169
  public function get_guest_customers_csv_row($order) {
170
  $customer_data = array();
171
  $csv_columns = $this->parent_module->get_selected_column_names();
172
- $key_array = array('billing_first_name', 'billing_last_name', 'billing_company', 'billing_email', 'billing_phone', 'billing_address_1', 'billing_address_2', 'billing_postcode', 'billing_city', 'billing_state', 'billing_country', 'shipping_first_name', 'shipping_last_name', 'shipping_company', 'shipping_phone', 'shipping_address_1', 'shipping_address_2', 'shipping_postcode', 'shipping_city', 'shipping_state', 'shipping_country', 'shipping_method');
173
- foreach ($csv_columns as $key) {
174
- if (in_array($key, $key_array)) {
175
- if ($key == 'user_email') {
 
176
  $customer_data[$key] = $order->get_billing_email();
177
  continue;
178
  }
179
  $method_name = "get_{$key}";
180
- $data = $order->$method_name();
181
- if (!empty($data)) {
182
- $data = maybe_serialize($order->$method_name());
 
 
183
  } else {
184
  $data = '';
185
  }
@@ -195,7 +250,7 @@ class Wt_Import_Export_For_Woo_basic_User_Export {
195
  * @since 3.0
196
  * @param array $customer_data
197
  */
198
- return apply_filters('hf_customer_csv_export_data', $customer_data, $csv_columns);
199
  }
200
 
201
  }
8
  class Wt_Import_Export_For_Woo_basic_User_Export {
9
 
10
  public $parent_module = null;
11
+
12
 
13
+ public function __construct($parent_object) {
14
 
15
  $this->parent_module = $parent_object;
16
  }
34
  $export_start_date = !empty($form_data['filter_form_data']['wt_iew_date_from']) ? $form_data['filter_form_data']['wt_iew_date_from'] : '';
35
  $export_end_date = !empty($form_data['filter_form_data']['wt_iew_date_to']) ? $form_data['filter_form_data']['wt_iew_date_to'] : '';
36
 
37
+ $v_export_guest_user = ( !empty( $form_data['advanced_form_data']['wt_iew_export_guest_user'] ) && 'Yes' === $form_data['advanced_form_data']['wt_iew_export_guest_user'] ) ? true : false;
38
+
39
  $export_limit = !empty($form_data['filter_form_data']['wt_iew_limit']) ? intval($form_data['filter_form_data']['wt_iew_limit']) : 999999999; //user limit
40
  $current_offset = !empty($form_data['filter_form_data']['wt_iew_offset']) ? intval($form_data['filter_form_data']['wt_iew_offset']) : 0; //user offset
41
  $batch_count = !empty($form_data['advanced_form_data']['wt_iew_batch_count']) ? $form_data['advanced_form_data']['wt_iew_batch_count'] : Wt_Import_Export_For_Woo_Basic_Common_Helper::get_advanced_settings('default_export_batch');
115
  $total_item_args['offset']=$current_offset; //user given offset
116
  $total_record_count = get_users($total_item_args);
117
  $total_records=count($total_record_count);
118
+ set_transient( 'wt_total_order_count', $total_records, 60*60*1); // 1 hour
119
  }
120
+
121
+
122
  // Loop users
123
  foreach ($users as $user) {
124
  $data = self::get_customers_csv_row($user);
125
  $data_array[] = apply_filters('hf_customer_csv_exclude_admin', $data);
126
  }
127
+
128
+ $is_last_offset = false;
129
+ $last_batch_count = $real_offset + $batch_count;
130
+ if($last_batch_count>=get_transient('wt_total_order_count')) //finished
131
+ {
132
+ $is_last_offset=true;
133
+ delete_transient('wt_total_order_count');
134
+ }
135
+ if($is_last_offset) //last batch
136
+ {
137
+ if ($v_export_guest_user) {
138
+ $query_args = array(
139
+ 'fields' => 'ids',
140
+ 'post_type' => 'shop_order',
141
+ 'post_status' => 'any',
142
+ 'posts_per_page' => -1,
143
+ );
144
+ $query_args['meta_query'] = array(array(
145
+ 'key' => '_customer_user',
146
+ 'value' => 0,
147
+ 'compare' => '',
148
+ ));
149
+ $query = new WP_Query($query_args);
150
+
151
+ $order_ids = $query->posts;
152
+ $guest_email_list = array();
153
+ foreach ($order_ids as $order_id) {
154
+ $order = new WC_Order($order_id);
155
+ if($order->get_billing_email()){
156
+ $user = get_user_by('email', $order->get_billing_email());
157
+ if (!isset($user->ID)) {
158
+ if(!in_array($order->get_billing_email(), $guest_email_list)){
159
+ $data = self::get_guest_customers_csv_row($order);
160
+ $data_array[] = apply_filters('hf_customer_csv_exclude_admin', $data);
161
+ $guest_email_list[] = $order->get_billing_email();
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+
170
  $return['total'] = $total_records;
171
  $return['data'] = $data_array;
172
  return $return;
201
  continue;
202
  }
203
 
204
+ $customer_data[$key] = isset($user->{$key}) ? maybe_serialize($user->{$key}) : '';
205
  }
206
  /*
207
  * CSV Customer Export Row.
212
  return apply_filters('hf_customer_csv_export_data', $customer_data, $csv_columns);
213
  }
214
 
215
+ /**
216
+ * CSV Guest Customer Export Row
217
+ *
218
+ * @param WC_Order $order Order object.
219
+ * @return array $customer_data
220
+ */
221
  public function get_guest_customers_csv_row($order) {
222
  $customer_data = array();
223
  $csv_columns = $this->parent_module->get_selected_column_names();
224
+ $key_array = array('user_email', 'billing_first_name', 'billing_last_name', 'billing_company', 'billing_email', 'billing_phone', 'billing_address_1', 'billing_address_2', 'billing_postcode', 'billing_city', 'billing_state', 'billing_country', 'shipping_first_name', 'shipping_last_name', 'shipping_company', 'shipping_phone', 'shipping_address_1', 'shipping_address_2', 'shipping_postcode', 'shipping_city', 'shipping_state', 'shipping_country', 'shipping_method');
225
+ foreach ( $csv_columns as $key ) {
226
+ $data = '';
227
+ if ( in_array( $key, $key_array ) ) {
228
+ if ( 'user_email' === $key ) {
229
  $customer_data[$key] = $order->get_billing_email();
230
  continue;
231
  }
232
  $method_name = "get_{$key}";
233
+ if( is_callable( array( $order, $method_name ) ) ){
234
+ $data = $order->$method_name();
235
+ }
236
+ if ( !empty( $data ) ) {
237
+ $data = maybe_serialize( $order->$method_name() );
238
  } else {
239
  $data = '';
240
  }
250
  * @since 3.0
251
  * @param array $customer_data
252
  */
253
+ return apply_filters('wt_guest_customer_export_data', $customer_data, $csv_columns);
254
  }
255
 
256
  }
admin/modules/user/user.php CHANGED
@@ -47,6 +47,7 @@ class Wt_Import_Export_For_Woo_basic_User {
47
  add_filter('wt_iew_exporter_alter_mapping_fields_basic', array($this, 'exporter_alter_mapping_fields'), 10, 3);
48
  add_filter('wt_iew_importer_alter_mapping_fields_basic', array($this, 'get_importer_post_columns'), 10, 3);
49
 
 
50
  add_filter('wt_iew_importer_alter_advanced_fields_basic', array($this, 'importer_alter_advanced_fields'), 10, 3);
51
 
52
  add_filter('wt_iew_exporter_alter_meta_mapping_fields_basic', array($this, 'exporter_alter_meta_mapping_fields'), 10, 3);
@@ -389,7 +390,7 @@ class Wt_Import_Export_For_Woo_basic_User {
389
  );
390
 
391
  $fields['date_from'] = array(
392
- 'label' => __('From date'),
393
  'placeholder' => __('Date from'),
394
  'field_name' => 'date_from',
395
  'sele_vals' => '',
@@ -399,7 +400,7 @@ class Wt_Import_Export_For_Woo_basic_User {
399
  );
400
 
401
  $fields['date_to'] = array(
402
- 'label' => __('To date'),
403
  'placeholder' => __('Date to'),
404
  'field_name' => 'date_to',
405
  'sele_vals' => '',
@@ -438,6 +439,7 @@ class Wt_Import_Export_For_Woo_basic_User {
438
  }
439
  unset($fields['export_shortcode_tohtml']);
440
  $out = array();
 
441
  $out['export_guest_user'] = array(
442
  'label' => __("Export guest users"),
443
  'type' => 'radio',
@@ -447,8 +449,9 @@ class Wt_Import_Export_For_Woo_basic_User {
447
  ),
448
  'value' => 'No',
449
  'field_name' => 'export_guest_user',
450
- 'help_text' => __('Enable this option to export information related to guest users'),
451
  );
 
452
 
453
  foreach ($fields as $fieldk => $fieldv) {
454
  $out[$fieldk] = $fieldv;
47
  add_filter('wt_iew_exporter_alter_mapping_fields_basic', array($this, 'exporter_alter_mapping_fields'), 10, 3);
48
  add_filter('wt_iew_importer_alter_mapping_fields_basic', array($this, 'get_importer_post_columns'), 10, 3);
49
 
50
+ add_filter('wt_iew_exporter_alter_advanced_fields_basic', array($this, 'exporter_alter_advanced_fields'), 10, 3);
51
  add_filter('wt_iew_importer_alter_advanced_fields_basic', array($this, 'importer_alter_advanced_fields'), 10, 3);
52
 
53
  add_filter('wt_iew_exporter_alter_meta_mapping_fields_basic', array($this, 'exporter_alter_meta_mapping_fields'), 10, 3);
390
  );
391
 
392
  $fields['date_from'] = array(
393
+ 'label' => __('Registered date from'),
394
  'placeholder' => __('Date from'),
395
  'field_name' => 'date_from',
396
  'sele_vals' => '',
400
  );
401
 
402
  $fields['date_to'] = array(
403
+ 'label' => __('Registered date to'),
404
  'placeholder' => __('Date to'),
405
  'field_name' => 'date_to',
406
  'sele_vals' => '',
439
  }
440
  unset($fields['export_shortcode_tohtml']);
441
  $out = array();
442
+ if ( class_exists( 'woocommerce' ) ){
443
  $out['export_guest_user'] = array(
444
  'label' => __("Export guest users"),
445
  'type' => 'radio',
449
  ),
450
  'value' => 'No',
451
  'field_name' => 'export_guest_user',
452
+ 'help_text' => __('Enabling this option will include all guest customers in the export.'),
453
  );
454
+ }
455
 
456
  foreach ($fields as $fieldk => $fieldv) {
457
  $out[$fieldk] = $fieldv;
admin/partials/_form_field_generator.php CHANGED
@@ -356,7 +356,9 @@ foreach($form_fields as $key=>$value)
356
 
357
  <div id="<?php echo $dropzone_id;?>" class="wt_iew_dropzone" wt_iew_dropzone_target="#<?php echo $field_id; ?>">
358
  <div class="dz-message">
359
- <?php _e('Drop files here or click to upload');?>
 
 
360
  <br /><br /><div class="wt_iew_dz_file_success"></div> <br />
361
  <div class="wt_iew_dz_file_name"></div> <br />
362
  <div class="wt_iew_dz_remove_link"></div> <br />
356
 
357
  <div id="<?php echo $dropzone_id;?>" class="wt_iew_dropzone" wt_iew_dropzone_target="#<?php echo $field_id; ?>">
358
  <div class="dz-message">
359
+ <?php _e('Drop and Drop'); ?>
360
+ <?php _e('or'); ?>
361
+ <?php _e(' Click and Upload');?>
362
  <br /><br /><div class="wt_iew_dz_file_success"></div> <br />
363
  <div class="wt_iew_dz_file_name"></div> <br />
364
  <div class="wt_iew_dz_remove_link"></div> <br />
admin/views/admin-settings-marketing.php CHANGED
@@ -5,14 +5,14 @@ if ( ! defined( 'WPINC' ) ) {
5
  ?>
6
  <div class="wt-iew-tab-content" data-id="<?php echo $target_id;?>">
7
  <div class="wt-ier-wrapper">
8
- <h2 class="wt-ier-page-title"><?php _e('Make a complete import and export for your store\'s valuable data, all in one place.');?></h2>
9
- <p class="wt-ier-subp"><?php _e('Get access to advanced features and premium support. Upgrade to the premium version.');?></p>
10
  <div class="wt-ier-row">
11
  <div class="wt-ier-col-12 wt-ier-col-lg-4 wt-ier-lg-4 wt-ier-mb-lg-0">
12
  <div class="wt-ier-p-5 wt-ier-box-wrapper wt-ier-box-highlight">
13
  <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/upgrade/product-ie.svg" class="wt-ier-thumbnails">
14
- <h3 class="wt-ier-plugin-name"><?php _e('Product import export plugin for wooCommerce');?></h3>
15
- <p class="wt-ier-p"><?php _e('Easily export and import all types of products and product information.');?></p>
16
  <div class="wt-ier-d-sm-flex wt-ier-btn-group">
17
  <a href="https://www.webtoffee.com/product/product-import-export-woocommerce/?utm_source=free_plugin_revamp&utm_medium=basic_revamp&utm_campaign=Product_Import_Export&utm_content=<?php echo WT_U_IEW_VERSION; ?>" target="_blank" class="wt-ier-primary-btn wt-ier-btn"><?php _e('Get Premium');?></a>
18
  <a href="" class="wt-ier-secondary-btn wt-ier-btn" data-toggle="modal" data-target="#wt-ier-comparison-modal-product"><?php _e('Compare with basic');?></a>
@@ -22,8 +22,8 @@ if ( ! defined( 'WPINC' ) ) {
22
  <div class="wt-ier-col-12 wt-ier-col-lg-4 wt-ier-lg-4 wt-ier-mb-lg-0">
23
  <div class="wt-ier-p-5 wt-ier-box-wrapper wt-ier-box-highlight">
24
  <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/upgrade/customer-ie.svg" class="wt-ier-thumbnails">
25
- <h3 class="wt-ier-plugin-name"><?php _e('Customer Import Export for WooCommerce');?></h3>
26
- <p class="wt-ier-p"><?php _e('Easily import or export WordPress User and WooCommerce Customer data from/to a CSV file!');?></p>
27
  <div class="wt-ier-d-sm-flex wt-ier-btn-group">
28
  <a href="https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/?utm_source=free_plugin_revamp&utm_medium=basic_revamp&utm_campaign=User_Import_Export&utm_content=<?php echo WT_U_IEW_VERSION; ?>" class="wt-ier-primary-btn wt-ier-btn" target="_blank"><?php _e('Get Premium');?></a>
29
  <a href="" class="wt-ier-secondary-btn wt-ier-btn" data-toggle="modal" data-target="#wt-ier-comparison-modal-customer"><?php _e('Compare with basic');?></a>
@@ -33,7 +33,7 @@ if ( ! defined( 'WPINC' ) ) {
33
  <div class="wt-ier-col-12 wt-ier-col-lg-4 wt-ier-lg-4 wt-ier-mb-lg-0">
34
  <div class="wt-ier-p-5 wt-ier-box-wrapper wt-ier-box-highlight">
35
  <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/upgrade/order-ie.svg" class="wt-ier-thumbnails">
36
- <h3 class="wt-ier-plugin-name"><?php _e('Order, Coupon, Subscription Export Import for WooCommerce');?></h3>
37
  <p class="wt-ier-p"><?php _e('Export or Import WooCommerce orders, Coupons and Subscriptions.');?></p>
38
  <div class="wt-ier-d-sm-flex wt-ier-btn-group">
39
  <a href="https://www.webtoffee.com/product/order-import-export-plugin-for-woocommerce/?utm_source=free_plugin_revamp&utm_medium=basic_revamp&utm_campaign=Order_Import_Export&utm_content=<?php echo WT_U_IEW_VERSION; ?>" class="wt-ier-primary-btn wt-ier-btn" target="_blank"><?php _e('Get Premium');?></a>
@@ -503,7 +503,7 @@ if ( ! defined( 'WPINC' ) ) {
503
  <div class="wt-ier-col-12 wt-ier-col-lg-6">
504
  <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/upgrade/suite.svg" class="wt-ier-thumbnails">
505
  <h2 class="wt-ier-page-title"><?php _e('Import Export Suite for WooCommerce');?></h2>
506
- <p class="wt-ier-p"><?php _e('WooCommerce Import Export Suite is an all-in-one bundle of plugins that will enable you to import and export WooCommerce products, product reviews, orders, customers, coupons, and subscriptions.');?></p>
507
  <a href="https://www.webtoffee.com/product/woocommerce-import-export-suite/?utm_source=free_plugin_revamp&utm_medium=basic_revamp&utm_campaign=Import_Export_Suite&utm_content=<?php echo WT_U_IEW_VERSION; ?>" class="wt-ier-primary-btn" target="_blank"><?php _e('Get Premium');?></a>
508
  </div>
509
  </div>
5
  ?>
6
  <div class="wt-iew-tab-content" data-id="<?php echo $target_id;?>">
7
  <div class="wt-ier-wrapper">
8
+ <h2 class="wt-ier-page-title"><?php _e('One stop solution for all your import-export needs.');?></h2>
9
+ <p class="wt-ier-subp"><?php _e('Upgrade to the premium version and get access to the advanced features with premium support.');?></p>
10
  <div class="wt-ier-row">
11
  <div class="wt-ier-col-12 wt-ier-col-lg-4 wt-ier-lg-4 wt-ier-mb-lg-0">
12
  <div class="wt-ier-p-5 wt-ier-box-wrapper wt-ier-box-highlight">
13
  <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/upgrade/product-ie.svg" class="wt-ier-thumbnails">
14
+ <h3 class="wt-ier-plugin-name"><?php _e('PRODUCT IMPORT EXPORT PLUGIN FOR WOOCOMMERCE');?></h3>
15
+ <p class="wt-ier-p"><?php _e('Imports and exports all product types and reviews. Supports both CSV and XML file formats.');?></p>
16
  <div class="wt-ier-d-sm-flex wt-ier-btn-group">
17
  <a href="https://www.webtoffee.com/product/product-import-export-woocommerce/?utm_source=free_plugin_revamp&utm_medium=basic_revamp&utm_campaign=Product_Import_Export&utm_content=<?php echo WT_U_IEW_VERSION; ?>" target="_blank" class="wt-ier-primary-btn wt-ier-btn"><?php _e('Get Premium');?></a>
18
  <a href="" class="wt-ier-secondary-btn wt-ier-btn" data-toggle="modal" data-target="#wt-ier-comparison-modal-product"><?php _e('Compare with basic');?></a>
22
  <div class="wt-ier-col-12 wt-ier-col-lg-4 wt-ier-lg-4 wt-ier-mb-lg-0">
23
  <div class="wt-ier-p-5 wt-ier-box-wrapper wt-ier-box-highlight">
24
  <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/upgrade/customer-ie.svg" class="wt-ier-thumbnails">
25
+ <h3 class="wt-ier-plugin-name"><?php _e('WORDPRESS USERS & WOOCOMMERCE CUSTOMERS IMPORT EXPORT');?></h3>
26
+ <p class="wt-ier-p"><?php _e('Import and export all your WordPress User and WooCommerce Customer data in CSV/XML file formats.');?></p>
27
  <div class="wt-ier-d-sm-flex wt-ier-btn-group">
28
  <a href="https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/?utm_source=free_plugin_revamp&utm_medium=basic_revamp&utm_campaign=User_Import_Export&utm_content=<?php echo WT_U_IEW_VERSION; ?>" class="wt-ier-primary-btn wt-ier-btn" target="_blank"><?php _e('Get Premium');?></a>
29
  <a href="" class="wt-ier-secondary-btn wt-ier-btn" data-toggle="modal" data-target="#wt-ier-comparison-modal-customer"><?php _e('Compare with basic');?></a>
33
  <div class="wt-ier-col-12 wt-ier-col-lg-4 wt-ier-lg-4 wt-ier-mb-lg-0">
34
  <div class="wt-ier-p-5 wt-ier-box-wrapper wt-ier-box-highlight">
35
  <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/upgrade/order-ie.svg" class="wt-ier-thumbnails">
36
+ <h3 class="wt-ier-plugin-name"><?php _e('ORDER, COUPON, SUBSCRIPTION EXPORT IMPORT FOR WOOCOMMERCE');?></h3>
37
  <p class="wt-ier-p"><?php _e('Export or Import WooCommerce orders, Coupons and Subscriptions.');?></p>
38
  <div class="wt-ier-d-sm-flex wt-ier-btn-group">
39
  <a href="https://www.webtoffee.com/product/order-import-export-plugin-for-woocommerce/?utm_source=free_plugin_revamp&utm_medium=basic_revamp&utm_campaign=Order_Import_Export&utm_content=<?php echo WT_U_IEW_VERSION; ?>" class="wt-ier-primary-btn wt-ier-btn" target="_blank"><?php _e('Get Premium');?></a>
503
  <div class="wt-ier-col-12 wt-ier-col-lg-6">
504
  <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/upgrade/suite.svg" class="wt-ier-thumbnails">
505
  <h2 class="wt-ier-page-title"><?php _e('Import Export Suite for WooCommerce');?></h2>
506
+ <p class="wt-ier-p"><?php _e('WooCommerce Import Export Suite is an all-in-one bundle of plugins with which you can import and export WooCommerce products, product reviews, orders, customers, coupons and subscriptions.');?></p>
507
  <a href="https://www.webtoffee.com/product/woocommerce-import-export-suite/?utm_source=free_plugin_revamp&utm_medium=basic_revamp&utm_campaign=Import_Export_Suite&utm_content=<?php echo WT_U_IEW_VERSION; ?>" class="wt-ier-primary-btn" target="_blank"><?php _e('Get Premium');?></a>
508
  </div>
509
  </div>
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.2.4';
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.2.5';
84
  }
85
  $this->plugin_name = 'wt-import-export-for-woo-basic';
86
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: user import, user export, csv, woocommerce, customers, export import users
5
  Requires at least: 3.0.1
6
  Tested up to: 5.8
7
  Requires PHP: 5.6
8
- Stable tag: 2.2.4
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
@@ -26,7 +26,7 @@ WordPress User Import Export plugin allows the import and export of WordPress us
26
  &#128312; Map and Transform fields while importing customers/users
27
  &#128312; Change values (bulk modify) while importing customers/users using Evaluation Fields
28
  &#128312; Tested OK with WordPress 5.8
29
- &#128312; Tested OK with WooCommerce 6.0
30
  &#128312; Tested OK with PHP 8.0
31
 
32
  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.
@@ -214,6 +214,10 @@ Please refer the article on how to <a href="https://www.webtoffee.com/refresh-wo
214
 
215
  == Changelog ==
216
 
 
 
 
 
217
  = 2.2.4 =
218
  * WC 6.0 Tested OK
219
  = 2.2.3 =
@@ -405,5 +409,7 @@ Please refer the article on how to <a href="https://www.webtoffee.com/refresh-wo
405
 
406
  == Upgrade Notice ==
407
 
408
- = 2.2.4 =
409
- * WC 6.0 Tested OK
 
 
5
  Requires at least: 3.0.1
6
  Tested up to: 5.8
7
  Requires PHP: 5.6
8
+ Stable tag: 2.2.5
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
26
  &#128312; Map and Transform fields while importing customers/users
27
  &#128312; Change values (bulk modify) while importing customers/users using Evaluation Fields
28
  &#128312; Tested OK with WordPress 5.8
29
+ &#128312; Tested OK with WooCommerce 6.1
30
  &#128312; Tested OK with PHP 8.0
31
 
32
  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.
214
 
215
  == Changelog ==
216
 
217
+ = 2.2.5 =
218
+ * WC 6.1 Tested OK
219
+ * Add - Export guest users option.
220
+ * Fix - user_status column value export.
221
  = 2.2.4 =
222
  * WC 6.0 Tested OK
223
  = 2.2.3 =
409
 
410
  == Upgrade Notice ==
411
 
412
+ = 2.2.5 =
413
+ * WC 6.1 Tested OK
414
+ * Add - Export guest users option.
415
+ * Fix - user_status column value export.
users-customers-import-export-for-wp-woocommerce.php CHANGED
@@ -5,8 +5,8 @@
5
  Description: Export and Import User/Customers details From and To your WordPress/WooCommerce.
6
  Author: WebToffee
7
  Author URI: https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/
8
- Version: 2.2.4
9
- WC tested up to: 6.0
10
  Text Domain: users-customers-import-export-for-wp-woocommerce
11
  License: GPLv3
12
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
@@ -45,7 +45,7 @@ if (!defined('WT_IEW_DEBUG_BASIC_TROUBLESHOOT')) {
45
  * Start at version 1.0.0 and use SemVer - https://semver.org
46
  * Rename this for your plugin and update it as you release new versions.
47
  */
48
- define('WT_U_IEW_VERSION', '2.2.4');
49
 
50
  /**
51
  * The code that runs during plugin activation.
5
  Description: Export and Import User/Customers details From and To your WordPress/WooCommerce.
6
  Author: WebToffee
7
  Author URI: https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/
8
+ Version: 2.2.5
9
+ WC tested up to: 6.1
10
  Text Domain: users-customers-import-export-for-wp-woocommerce
11
  License: GPLv3
12
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
45
  * Start at version 1.0.0 and use SemVer - https://semver.org
46
  * Rename this for your plugin and update it as you release new versions.
47
  */
48
+ define('WT_U_IEW_VERSION', '2.2.5');
49
 
50
  /**
51
  * The code that runs during plugin activation.