WooCommerce – Store Exporter - Version 2.7

Version Description

  • Fixed: Compatible with WooCommerce version 4.4.1
  • Fixed: jQuery update (change .attr to .prop in export.js) - Check All/Uncheck All to work consistantly for export fields on Quick Export Screen
  • Fixed: Decode special charaters in Product Name
Download this release

Release Info

Developer byronkeet
Plugin Icon 128x128 WooCommerce – Store Exporter
Version 2.7
Comparing to
See all releases

Code changes from version 2.6 to 2.7

Files changed (4) hide show
  1. exporter.php +2 -2
  2. includes/product.php +1 -1
  3. readme.txt +8 -3
  4. templates/admin/export.js +47 -47
exporter.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WooCommerce - Store Exporter
4
  * Plugin URI: http://www.visser.com.au/woocommerce/plugins/exporter/
5
  * Description: Export store details out of WooCommerce into simple formatted files (e.g. CSV, TSV, Excel formats including XLS and XLSX, XML, etc.)
6
- * Version: 2.6
7
  * Author: Visser Labs
8
  * Author URI: http://www.visser.com.au/solutions/
9
  * License: GPL2
@@ -12,7 +12,7 @@
12
  * Domain Path: /languages/
13
  *
14
  * WC requires at least: 2.3
15
- * WC tested up to: 4.3.2
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
  * Plugin Name: WooCommerce - Store Exporter
4
  * Plugin URI: http://www.visser.com.au/woocommerce/plugins/exporter/
5
  * Description: Export store details out of WooCommerce into simple formatted files (e.g. CSV, TSV, Excel formats including XLS and XLSX, XML, etc.)
6
+ * Version: 2.7
7
  * Author: Visser Labs
8
  * Author URI: http://www.visser.com.au/solutions/
9
  * License: GPL2
12
  * Domain Path: /languages/
13
  *
14
  * WC requires at least: 2.3
15
+ * WC tested up to: 5.9.0
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
includes/product.php CHANGED
@@ -689,7 +689,7 @@ function woo_ce_get_product_data( $product_id = 0, $args = array() ) {
689
  }
690
  $product->product_id = $product_id;
691
  $product->sku = get_post_meta( $product_id, '_sku', true );
692
- $product->name = get_the_title( $product_id );
693
  if( $product->post_type <> 'product_variation' )
694
  $product->permalink = get_permalink( $product_id );
695
  $product->product_url = ( method_exists( $_product, 'get_permalink' ) ? $_product->get_permalink() : get_permalink( $product_id ) );
689
  }
690
  $product->product_id = $product_id;
691
  $product->sku = get_post_meta( $product_id, '_sku', true );
692
+ $product->name = html_entity_decode( get_the_title( $product_id ) );
693
  if( $product->post_type <> 'product_variation' )
694
  $product->permalink = get_permalink( $product_id );
695
  $product->product_url = ( method_exists( $_product, 'get_permalink' ) ? $_product->get_permalink() : get_permalink( $product_id ) );
readme.txt CHANGED
@@ -1,11 +1,11 @@
1
  === WooCommerce - Store Exporter ===
2
 
3
- Contributors: visser, visser.labs
4
  Donate link: https://www.visser.com.au/donations/
5
  Tags: woocommerce, export, products, sales, orders, coupons, users, subscriptions, csv
6
  Requires at least: 2.9.2
7
- Tested up to: 5.5
8
- Stable tag: 2.6
9
  License: GPLv2 or later
10
 
11
  Export store details out of WooCommerce into simple formatted files (e.g. CSV, XML, Excel 2007, XLS, etc.).
@@ -154,6 +154,11 @@ If you have any problems, questions or suggestions please create a topic here on
154
 
155
  == Changelog ==
156
 
 
 
 
 
 
157
  = 2.6 =
158
  * Added: Compatible with WordPress version 5.5
159
  * Added: Compatible with WooCommerce version 4.3.2
1
  === WooCommerce - Store Exporter ===
2
 
3
+ Contributors: visser, visser.labs, byronkeet
4
  Donate link: https://www.visser.com.au/donations/
5
  Tags: woocommerce, export, products, sales, orders, coupons, users, subscriptions, csv
6
  Requires at least: 2.9.2
7
+ Tested up to: 5.8.2
8
+ Stable tag: 2.7
9
  License: GPLv2 or later
10
 
11
  Export store details out of WooCommerce into simple formatted files (e.g. CSV, XML, Excel 2007, XLS, etc.).
154
 
155
  == Changelog ==
156
 
157
+ = 2.7 =
158
+ * Fixed: Compatible with WooCommerce version 4.4.1
159
+ * Fixed: jQuery update (change .attr to .prop in export.js) - Check All/Uncheck All to work consistantly for export fields on Quick Export Screen
160
+ * Fixed: Decode special charaters in Product Name
161
+
162
  = 2.6 =
163
  * Added: Compatible with WordPress version 5.5
164
  * Added: Compatible with WooCommerce version 4.3.2
templates/admin/export.js CHANGED
@@ -75,17 +75,17 @@ $j(function() {
75
 
76
  // Select all field options for this export type
77
  $j('.checkall').click(function () {
78
- $j(this).closest('.postbox').find('input[type="checkbox"]:not(:disabled)').attr('checked', true);
79
  });
80
 
81
  // Unselect all field options for this export type
82
  $j('.uncheckall').click(function () {
83
- $j(this).closest('.postbox').find('input[type="checkbox"]:not(:disabled)').attr('checked', false);
84
  });
85
 
86
  // Reset sorting of fields for this export type
87
  $j('.resetsorting').click(function () {
88
- var type = $j(this).attr('id');
89
  var type = type.replace('-resetsorting','');
90
  for(i=0; i<$j('#' + type + '-fields tr').length; i++){
91
  $j('#' + type + '-' + i).appendTo('#' + type + '-fields');
@@ -98,37 +98,37 @@ $j(function() {
98
 
99
  // Categories
100
  $j('#export-products-filters-categories').hide();
101
- if( $j('#products-filters-categories').attr('checked') ) {
102
  $j('#export-products-filters-categories').show();
103
  }
104
  // Tags
105
  $j('#export-products-filters-tags').hide();
106
- if( $j('#products-filters-tags').attr('checked') ) {
107
  $j('#export-products-filters-tags').show();
108
  }
109
  // Brands
110
  $j('#export-products-filters-brands').hide();
111
- if( $j('#products-filters-brands').attr('checked') ) {
112
  $j('#export-products-filters-brands').show();
113
  }
114
  // Product Vendors
115
  $j('#export-products-filters-vendors').hide();
116
- if( $j('#products-filters-vendors').attr('checked') ) {
117
  $j('#export-products-filters-vendors').show();
118
  }
119
  // Product Status
120
  $j('#export-products-filters-status').hide();
121
- if( $j('#products-filters-status').attr('checked') ) {
122
  $j('#export-products-filters-status').show();
123
  }
124
  // Type
125
  $j('#export-products-filters-type').hide();
126
- if( $j('#products-filters-type').attr('checked') ) {
127
  $j('#export-products-filters-type').show();
128
  }
129
  // Stock
130
  $j('#export-products-filters-stock').hide();
131
- if( $j('#products-filters-stock').attr('checked') ) {
132
  $j('#export-products-filters-stock').show();
133
  }
134
 
@@ -141,110 +141,110 @@ $j(function() {
141
  $j('#export-order').hide();
142
  // Order Status
143
  $j('#export-orders-filters-status').hide();
144
- if( $j('#orders-filters-status').attr('checked') ) {
145
  $j('#export-orders-filters-status').show();
146
  }
147
  // Order Date
148
  $j('#export-orders-filters-date').hide();
149
- if( $j('#orders-filters-date').attr('checked') ) {
150
  $j('#export-orders-filters-date').show();
151
  }
152
  // Customer
153
  $j('#export-orders-filters-customer').hide();
154
- if( $j('#orders-filters-customer').attr('checked') ) {
155
  $j('#export-orders-filters-customer').show();
156
  }
157
  // Billing Country
158
  $j('#export-orders-filters-billing_country').hide();
159
- if( $j('#orders-filters-billing_country').attr('checked') ) {
160
  $j('#export-orders-filters-billing_country').show();
161
  }
162
  // Shipping Country
163
  $j('#export-orders-filters-shipping_country').hide();
164
- if( $j('#orders-filters-shipping_country').attr('checked') ) {
165
  $j('#export-orders-filters-shipping_country').show();
166
  }
167
  // User Role
168
  $j('#export-orders-filters-user_role').hide();
169
- if( $j('#orders-filters-user_role').attr('checked') ) {
170
  $j('#export-orders-filters-user_role').show();
171
  }
172
  // Coupon Code
173
  $j('#export-orders-filters-coupon').hide();
174
- if( $j('#orders-filters-coupon').attr('checked') ) {
175
  $j('#export-orders-filters-coupon').show();
176
  }
177
  // Products
178
  $j('#export-orders-filters-product').hide();
179
- if( $j('#orders-filters-product').attr('checked') ) {
180
  $j('#export-orders-filters-product').show();
181
  }
182
  // Categories
183
  $j('#export-orders-filters-category').hide();
184
- if( $j('#orders-filters-category').attr('checked') ) {
185
  $j('#export-orders-filters-category').show();
186
  }
187
  // Tags
188
  $j('#export-orders-filters-tag').hide();
189
- if( $j('#orders-filters-tag').attr('checked') ) {
190
  $j('#export-orders-filters-tag').show();
191
  }
192
  // Brands
193
  $j('#export-orders-filters-brand').hide();
194
- if( $j('#orders-filters-brand').attr('checked') ) {
195
  $j('#export-orders-filters-brand').show();
196
  }
197
  // Order ID
198
  $j('#export-orders-filters-id').hide();
199
- if( $j('#orders-filters-id').attr('checked') ) {
200
  $j('#export-orders-filters-id').show();
201
  }
202
  // Payment Gateway
203
  $j('#export-orders-filters-payment_gateway').hide();
204
- if( $j('#orders-filters-payment_gateway').attr('checked') ) {
205
  $j('#export-orders-filters-payment_gateway').show();
206
  }
207
  // Payment Gateway
208
  $j('#export-orders-filters-shipping_method').hide();
209
- if( $j('#orders-filters-shipping_method').attr('checked') ) {
210
  $j('#export-orders-filters-shipping_method').show();
211
  }
212
 
213
  // Order Status
214
  $j('#export-customers-filters-status').hide();
215
- if( $j('#customers-filters-status').attr('checked') ) {
216
  $j('#export-customers-filters-status').show();
217
  }
218
  // User Role
219
  $j('#export-customers-filters-user_role').hide();
220
- if( $j('#customers-filters-user_role').attr('checked') ) {
221
  $j('#export-customers-filters-user_role').show();
222
  }
223
 
224
  // Subscription Status
225
  $j('#export-subscriptions-filters-status').hide();
226
- if( $j('#subscriptions-filters-status').attr('checked') ) {
227
  $j('#export-subscriptions-filters-status').show();
228
  }
229
  // Subscription Product
230
  $j('#export-subscriptions-filters-product').hide();
231
- if( $j('#subscriptions-filters-product').attr('checked') ) {
232
  $j('#export-subscriptions-filters-product').show();
233
  }
234
 
235
  // Order Date
236
  $j('#export-commissions-filters-date').hide();
237
- if( $j('#commissions-filters-date').attr('checked') ) {
238
  $j('#export-commissions-filters-date').show();
239
  }
240
  // Product Vendor
241
  $j('#export-commissions-filters-product_vendor').hide();
242
- if( $j('#commissions-filters-product_vendor').attr('checked') ) {
243
  $j('#export-commissions-filters-product_vendor').show();
244
  }
245
  // Commission Status
246
  $j('#export-commissions-filters-commission_status').hide();
247
- if( $j('#commissions-filters-commission_status').attr('checked') ) {
248
  $j('#export-commissions-filters-commission_status').show();
249
  }
250
 
@@ -450,52 +450,52 @@ $j(function() {
450
 
451
  // Export button
452
  $j('#export_product').click(function(){
453
- $j('input:radio[name=dataset][value="product"]').attr('checked',true);
454
  });
455
  $j('#export_category').click(function(){
456
- $j('input:radio[name=dataset][value="category"]').attr('checked',true);
457
  });
458
  $j('#export_tag').click(function(){
459
- $j('input:radio[name=dataset][value="tag"]').attr('checked',true);
460
  });
461
  $j('#export_brand').click(function(){
462
- $j('input:radio[name=dataset][value="brand"]').attr('checked',true);
463
  });
464
  $j('#export_order').click(function(){
465
- $j('input:radio[name=dataset][value="order"]').attr('checked',true);
466
  });
467
  $j('#export_customer').click(function(){
468
- $j('input:radio[name=dataset][value="customer"]').attr('checked',true);
469
  });
470
  $j('#export_user').click(function(){
471
- $j('input:radio[name=dataset][value="user"]').attr('checked',true);
472
  });
473
  $j('#export_review').click(function(){
474
- $j('input:radio[name=dataset][value="review"]').attr('checked',true);
475
  });
476
  $j('#export_coupon').click(function(){
477
- $j('input:radio[name=dataset][value="coupon"]').attr('checked',true);
478
  });
479
  $j('#export_subscription').click(function(){
480
- $j('input:radio[name=dataset][value="subscription"]').attr('checked',true);
481
  });
482
  $j('#export_product_vendor').click(function(){
483
- $j('input:radio[name=dataset][value="product_vendor"]').attr('checked',true);
484
  });
485
  $j('#export_commission').click(function(){
486
- $j('input:radio[name=dataset][value="commission"]').attr('checked',true);
487
  });
488
  $j('#export_shipping_class').click(function(){
489
- $j('input:radio[name=dataset][value="shipping_class"]').attr('checked',true);
490
  });
491
  $j('#export_ticket').click(function(){
492
- $j('input:radio[name=dataset][value="ticket"]').attr('checked',true);
493
  });
494
  $j('#export_booking').click(function(){
495
- $j('input:radio[name=dataset][value="booking"]').attr('checked',true);
496
  });
497
  $j('#export_attribute').click(function(){
498
- $j('input:radio[name=dataset][value="attribute"]').attr('checked',true);
499
  });
500
 
501
  // Changing the Export Type will show/hide other options
75
 
76
  // Select all field options for this export type
77
  $j('.checkall').click(function () {
78
+ $j(this).closest('.postbox').find('input[type="checkbox"]:not(:disabled)').prop('checked', true);
79
  });
80
 
81
  // Unselect all field options for this export type
82
  $j('.uncheckall').click(function () {
83
+ $j(this).closest('.postbox').find('input[type="checkbox"]:not(:disabled)').prop('checked', false);
84
  });
85
 
86
  // Reset sorting of fields for this export type
87
  $j('.resetsorting').click(function () {
88
+ var type = $j(this).prop('id');
89
  var type = type.replace('-resetsorting','');
90
  for(i=0; i<$j('#' + type + '-fields tr').length; i++){
91
  $j('#' + type + '-' + i).appendTo('#' + type + '-fields');
98
 
99
  // Categories
100
  $j('#export-products-filters-categories').hide();
101
+ if( $j('#products-filters-categories').prop('checked') ) {
102
  $j('#export-products-filters-categories').show();
103
  }
104
  // Tags
105
  $j('#export-products-filters-tags').hide();
106
+ if( $j('#products-filters-tags').prop('checked') ) {
107
  $j('#export-products-filters-tags').show();
108
  }
109
  // Brands
110
  $j('#export-products-filters-brands').hide();
111
+ if( $j('#products-filters-brands').prop('checked') ) {
112
  $j('#export-products-filters-brands').show();
113
  }
114
  // Product Vendors
115
  $j('#export-products-filters-vendors').hide();
116
+ if( $j('#products-filters-vendors').prop('checked') ) {
117
  $j('#export-products-filters-vendors').show();
118
  }
119
  // Product Status
120
  $j('#export-products-filters-status').hide();
121
+ if( $j('#products-filters-status').prop('checked') ) {
122
  $j('#export-products-filters-status').show();
123
  }
124
  // Type
125
  $j('#export-products-filters-type').hide();
126
+ if( $j('#products-filters-type').prop('checked') ) {
127
  $j('#export-products-filters-type').show();
128
  }
129
  // Stock
130
  $j('#export-products-filters-stock').hide();
131
+ if( $j('#products-filters-stock').prop('checked') ) {
132
  $j('#export-products-filters-stock').show();
133
  }
134
 
141
  $j('#export-order').hide();
142
  // Order Status
143
  $j('#export-orders-filters-status').hide();
144
+ if( $j('#orders-filters-status').prop('checked') ) {
145
  $j('#export-orders-filters-status').show();
146
  }
147
  // Order Date
148
  $j('#export-orders-filters-date').hide();
149
+ if( $j('#orders-filters-date').prop('checked') ) {
150
  $j('#export-orders-filters-date').show();
151
  }
152
  // Customer
153
  $j('#export-orders-filters-customer').hide();
154
+ if( $j('#orders-filters-customer').prop('checked') ) {
155
  $j('#export-orders-filters-customer').show();
156
  }
157
  // Billing Country
158
  $j('#export-orders-filters-billing_country').hide();
159
+ if( $j('#orders-filters-billing_country').prop('checked') ) {
160
  $j('#export-orders-filters-billing_country').show();
161
  }
162
  // Shipping Country
163
  $j('#export-orders-filters-shipping_country').hide();
164
+ if( $j('#orders-filters-shipping_country').prop('checked') ) {
165
  $j('#export-orders-filters-shipping_country').show();
166
  }
167
  // User Role
168
  $j('#export-orders-filters-user_role').hide();
169
+ if( $j('#orders-filters-user_role').prop('checked') ) {
170
  $j('#export-orders-filters-user_role').show();
171
  }
172
  // Coupon Code
173
  $j('#export-orders-filters-coupon').hide();
174
+ if( $j('#orders-filters-coupon').prop('checked') ) {
175
  $j('#export-orders-filters-coupon').show();
176
  }
177
  // Products
178
  $j('#export-orders-filters-product').hide();
179
+ if( $j('#orders-filters-product').prop('checked') ) {
180
  $j('#export-orders-filters-product').show();
181
  }
182
  // Categories
183
  $j('#export-orders-filters-category').hide();
184
+ if( $j('#orders-filters-category').prop('checked') ) {
185
  $j('#export-orders-filters-category').show();
186
  }
187
  // Tags
188
  $j('#export-orders-filters-tag').hide();
189
+ if( $j('#orders-filters-tag').prop('checked') ) {
190
  $j('#export-orders-filters-tag').show();
191
  }
192
  // Brands
193
  $j('#export-orders-filters-brand').hide();
194
+ if( $j('#orders-filters-brand').prop('checked') ) {
195
  $j('#export-orders-filters-brand').show();
196
  }
197
  // Order ID
198
  $j('#export-orders-filters-id').hide();
199
+ if( $j('#orders-filters-id').prop('checked') ) {
200
  $j('#export-orders-filters-id').show();
201
  }
202
  // Payment Gateway
203
  $j('#export-orders-filters-payment_gateway').hide();
204
+ if( $j('#orders-filters-payment_gateway').prop('checked') ) {
205
  $j('#export-orders-filters-payment_gateway').show();
206
  }
207
  // Payment Gateway
208
  $j('#export-orders-filters-shipping_method').hide();
209
+ if( $j('#orders-filters-shipping_method').prop('checked') ) {
210
  $j('#export-orders-filters-shipping_method').show();
211
  }
212
 
213
  // Order Status
214
  $j('#export-customers-filters-status').hide();
215
+ if( $j('#customers-filters-status').prop('checked') ) {
216
  $j('#export-customers-filters-status').show();
217
  }
218
  // User Role
219
  $j('#export-customers-filters-user_role').hide();
220
+ if( $j('#customers-filters-user_role').prop('checked') ) {
221
  $j('#export-customers-filters-user_role').show();
222
  }
223
 
224
  // Subscription Status
225
  $j('#export-subscriptions-filters-status').hide();
226
+ if( $j('#subscriptions-filters-status').prop('checked') ) {
227
  $j('#export-subscriptions-filters-status').show();
228
  }
229
  // Subscription Product
230
  $j('#export-subscriptions-filters-product').hide();
231
+ if( $j('#subscriptions-filters-product').prop('checked') ) {
232
  $j('#export-subscriptions-filters-product').show();
233
  }
234
 
235
  // Order Date
236
  $j('#export-commissions-filters-date').hide();
237
+ if( $j('#commissions-filters-date').prop('checked') ) {
238
  $j('#export-commissions-filters-date').show();
239
  }
240
  // Product Vendor
241
  $j('#export-commissions-filters-product_vendor').hide();
242
+ if( $j('#commissions-filters-product_vendor').prop('checked') ) {
243
  $j('#export-commissions-filters-product_vendor').show();
244
  }
245
  // Commission Status
246
  $j('#export-commissions-filters-commission_status').hide();
247
+ if( $j('#commissions-filters-commission_status').prop('checked') ) {
248
  $j('#export-commissions-filters-commission_status').show();
249
  }
250
 
450
 
451
  // Export button
452
  $j('#export_product').click(function(){
453
+ $j('input:radio[name=dataset][value="product"]').prop('checked',true);
454
  });
455
  $j('#export_category').click(function(){
456
+ $j('input:radio[name=dataset][value="category"]').prop('checked',true);
457
  });
458
  $j('#export_tag').click(function(){
459
+ $j('input:radio[name=dataset][value="tag"]').prop('checked',true);
460
  });
461
  $j('#export_brand').click(function(){
462
+ $j('input:radio[name=dataset][value="brand"]').prop('checked',true);
463
  });
464
  $j('#export_order').click(function(){
465
+ $j('input:radio[name=dataset][value="order"]').prop('checked',true);
466
  });
467
  $j('#export_customer').click(function(){
468
+ $j('input:radio[name=dataset][value="customer"]').prop('checked',true);
469
  });
470
  $j('#export_user').click(function(){
471
+ $j('input:radio[name=dataset][value="user"]').prop('checked',true);
472
  });
473
  $j('#export_review').click(function(){
474
+ $j('input:radio[name=dataset][value="review"]').prop('checked',true);
475
  });
476
  $j('#export_coupon').click(function(){
477
+ $j('input:radio[name=dataset][value="coupon"]').prop('checked',true);
478
  });
479
  $j('#export_subscription').click(function(){
480
+ $j('input:radio[name=dataset][value="subscription"]').prop('checked',true);
481
  });
482
  $j('#export_product_vendor').click(function(){
483
+ $j('input:radio[name=dataset][value="product_vendor"]').prop('checked',true);
484
  });
485
  $j('#export_commission').click(function(){
486
+ $j('input:radio[name=dataset][value="commission"]').prop('checked',true);
487
  });
488
  $j('#export_shipping_class').click(function(){
489
+ $j('input:radio[name=dataset][value="shipping_class"]').prop('checked',true);
490
  });
491
  $j('#export_ticket').click(function(){
492
+ $j('input:radio[name=dataset][value="ticket"]').prop('checked',true);
493
  });
494
  $j('#export_booking').click(function(){
495
+ $j('input:radio[name=dataset][value="booking"]').prop('checked',true);
496
  });
497
  $j('#export_attribute').click(function(){
498
+ $j('input:radio[name=dataset][value="attribute"]').prop('checked',true);
499
  });
500
 
501
  // Changing the Export Type will show/hide other options