WooCommerce – Store Exporter - Version 1.9.4

Version Description

  • Added: Variation Description built into Description Product export field (thanks Kelvin)
Download this release

Release Info

Developer visser
Plugin Icon 128x128 WooCommerce – Store Exporter
Version 1.9.4
Comparing to
See all releases

Code changes from version 1.9.2 to 1.9.4

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, XML, Excel formats including XLS and XLSX, etc.)
6
- Version: 1.9.2
7
Author: Visser Labs
8
Author URI: http://www.visser.com.au/about/
9
License: GPL2
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, XML, Excel formats including XLS and XLSX, etc.)
6
+ Version: 1.9.4
7
Author: Visser Labs
8
Author URI: http://www.visser.com.au/about/
9
License: GPL2
includes/brand.php CHANGED
@@ -69,13 +69,13 @@ function woo_ce_get_brand_fields( $format = 'full' ) {
69
*/
70
71
// Drop in our content filters here
72
- add_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
73
74
// Allow Plugin/Theme authors to add support for additional columns
75
$fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type );
76
77
// Remove our content filters here to play nice with other Plugins
78
- remove_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
79
80
switch( $format ) {
81
69
*/
70
71
// Drop in our content filters here
72
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
73
74
// Allow Plugin/Theme authors to add support for additional columns
75
$fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type );
76
77
// Remove our content filters here to play nice with other Plugins
78
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
79
80
switch( $format ) {
81
includes/category.php CHANGED
@@ -69,13 +69,13 @@ function woo_ce_get_category_fields( $format = 'full' ) {
69
*/
70
71
// Drop in our content filters here
72
- add_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
73
74
// Allow Plugin/Theme authors to add support for additional columns
75
$fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type );
76
77
// Remove our content filters here to play nice with other Plugins
78
- remove_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
79
80
if( $remember = woo_ce_get_option( $export_type . '_fields', array() ) ) {
81
$remember = maybe_unserialize( $remember );
69
*/
70
71
// Drop in our content filters here
72
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
73
74
// Allow Plugin/Theme authors to add support for additional columns
75
$fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type );
76
77
// Remove our content filters here to play nice with other Plugins
78
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
79
80
if( $remember = woo_ce_get_option( $export_type . '_fields', array() ) ) {
81
$remember = maybe_unserialize( $remember );
includes/coupon.php CHANGED
@@ -101,13 +101,13 @@ function woo_ce_get_coupon_fields( $format = 'full' ) {
101
*/
102
103
// Drop in our content filters here
104
- add_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
105
106
// Allow Plugin/Theme authors to add support for additional columns
107
$fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type );
108
109
// Remove our content filters here to play nice with other Plugins
110
- remove_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
111
112
switch( $format ) {
113
101
*/
102
103
// Drop in our content filters here
104
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
105
106
// Allow Plugin/Theme authors to add support for additional columns
107
$fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type );
108
109
// Remove our content filters here to play nice with other Plugins
110
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
111
112
switch( $format ) {
113
includes/customer.php CHANGED
@@ -194,13 +194,13 @@ function woo_ce_get_customer_fields( $format = 'full' ) {
194
*/
195
196
// Drop in our content filters here
197
- add_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
198
199
// Allow Plugin/Theme authors to add support for additional columns
200
$fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type );
201
202
// Remove our content filters here to play nice with other Plugins
203
- remove_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
204
205
switch( $format ) {
206
194
*/
195
196
// Drop in our content filters here
197
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
198
199
// Allow Plugin/Theme authors to add support for additional columns
200
$fields = apply_filters( 'woo_ce_' . $export_type . '_fields', $fields, $export_type );
201
202
// Remove our content filters here to play nice with other Plugins
203
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
204
205
switch( $format ) {
206
includes/formatting.php CHANGED
@@ -80,7 +80,7 @@ function woo_ce_attribute_escape( $safe_text = '', $text = '' ) {
80
81
}
82
83
- function woo_ce_sanitize_key( $key ) {
84
85
// Limit length of key to 48 characters
86
$key = substr( $key, 0, 48 );
80
81
}
82
83
+ function woo_ce_filter_sanitize_key( $key ) {
84
85
// Limit length of key to 48 characters
86
$key = substr( $key, 0, 48 );
includes/functions.php CHANGED
@@ -711,7 +711,7 @@ function woo_ce_export_dataset( $export_type = null, &$output = null ) {
711
add_action( 'shutdown', 'woo_ce_fatal_error' );
712
713
// Drop in our content filters here
714
- add_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
715
add_filter( 'attribute_escape', 'woo_ce_attribute_escape', 10, 2 );
716
717
switch( $export_type ) {
@@ -907,7 +907,7 @@ function woo_ce_export_dataset( $export_type = null, &$output = null ) {
907
}
908
909
// Remove our content filters here to play nice with other Plugins
910
- remove_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
911
remove_filter( 'attribute_escape', 'woo_ce_attribute_escape' );
912
913
// Remove our fatal error notice so not to conflict with the CRON or scheduled export engine
@@ -1315,6 +1315,13 @@ function woo_ce_modules_list( $module_status = false ) {
1315
'slug' => 'woocommerce-pdf-invoices-packing-slips',
1316
'class' => 'WooCommerce_PDF_Invoices'
1317
);
1318
$modules[] = array(
1319
'name' => 'checkout_manager',
1320
'title' => __( 'WooCommerce Checkout Manager & WooCommerce Checkout Manager Pro', 'woocommerce-exporter' ),
@@ -1856,6 +1863,80 @@ function woo_ce_modules_list( $module_status = false ) {
1856
'url' => 'http://www.wpbackoffice.com/plugins/woocommerce-incremental-product-quantities/',
1857
'function' => 'IPQ'
1858
);
1859
1860
// Ship to Multiple Addresses - WC_Ship_Multiple
1861
711
add_action( 'shutdown', 'woo_ce_fatal_error' );
712
713
// Drop in our content filters here
714
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
715
add_filter( 'attribute_escape', 'woo_ce_attribute_escape', 10, 2 );
716
717
switch( $export_type ) {
907
}
908
909
// Remove our content filters here to play nice with other Plugins
910
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
911
remove_filter( 'attribute_escape', 'woo_ce_attribute_escape' );
912
913
// Remove our fatal error notice so not to conflict with the CRON or scheduled export engine
1315
'slug' => 'woocommerce-pdf-invoices-packing-slips',
1316
'class' => 'WooCommerce_PDF_Invoices'
1317
);
1318
+ $modules[] = array(
1319
+ 'name' => 'pdf_invoices_packing_slips_pro',
1320
+ 'title' => __( 'WooCommerce PDF Invoices & Packing Slips Professional', 'woocommerce-exporter' ),
1321
+ 'description' => __( 'Extended functionality for the WooCommerce PDF Invoices & Packing Slips Plugin.', 'woocommerce-exporter' ),
1322
+ 'url' => 'https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-professional/',
1323
+ 'class' => 'WooCommerce_PDF_IPS_Pro'
1324
+ );
1325
$modules[] = array(
1326
'name' => 'checkout_manager',
1327
'title' => __( 'WooCommerce Checkout Manager & WooCommerce Checkout Manager Pro', 'woocommerce-exporter' ),
1863
'url' => 'http://www.wpbackoffice.com/plugins/woocommerce-incremental-product-quantities/',
1864
'function' => 'IPQ'
1865
);
1866
+ $modules[] = array(
1867
+ 'name' => 'wc_chained_products',
1868
+ 'title' => __( 'WooCommerce Chained Products', 'woocommerce-exporter' ),
1869
+ 'description' => __( 'Create discounted product bundles and combo packs and boost your sales. Automatically add linked / related products to order.', 'woocommerce-exporter' ),
1870
+ 'url' => 'https://woocommerce.com/products/chained-products/',
1871
+ 'class' => 'WC_Chained_Products'
1872
+ );
1873
+ $modules[] = array(
1874
+ 'name' => 'wc_sample',
1875
+ 'title' => __( 'WooCommerce Sample', 'woocommerce-exporter' ),
1876
+ 'description' => __( 'Include Get Sample Button in products of your online store.', 'woocommerce-exporter' ),
1877
+ 'url' => 'https://wordpress.org/plugins/woocommerce-sample/',
1878
+ 'slug' => 'woocommerce-sample',
1879
+ 'class' => 'WooCommerce_Sample'
1880
+ );
1881
+ $modules[] = array(
1882
+ 'name' => 'wc_product_importer_deluxe',
1883
+ 'title' => __( 'WooCommerce Product Importer Deluxe', 'woocommerce-exporter' ),
1884
+ 'description' => __( 'Bulk import hundreds, even thousands of linked Products and Product images into your WooCommerce store.', 'woocommerce-exporter' ),
1885
+ 'url' => 'https://www.visser.com.au/plugins/product-importer-deluxe/',
1886
+ 'function' => 'woo_pd_i18n'
1887
+ );
1888
+ $modules[] = array(
1889
+ 'name' => 'wc_ag_barcode_pro',
1890
+ 'title' => __( 'AG WooCommerce Barcode / ISBN & Amazon ASIN - PRO', 'woocommerce-exporter' ),
1891
+ 'description' => __( 'A plugin to add a barcode, ISBN & Amazon ASIN fields to WooCommerce.', 'woocommerce-exporter' ),
1892
+ 'url' => 'https://www.weareag.co.uk/product/woocommerce-barcodeisbn-amazon-asin-pro/',
1893
+ 'function' => 'AGD_load_updater'
1894
+ );
1895
+ $modules[] = array(
1896
+ 'name' => 'wc_nm_personalizedproduct',
1897
+ 'title' => __( 'N-Media WooCommerce Personalized Product Meta Manager', 'woocommerce-exporter' ),
1898
+ 'description' => __( 'WooCommerce Personalized Product Option Plugin allows site admin to add unlimited input fields on product page.', 'woocommerce-exporter' ),
1899
+ 'url' => 'http://najeebmedia.com/wordpress-plugin/woocommerce-personalized-product-option/',
1900
+ 'class' => 'NM_PersonalizedProduct'
1901
+ );
1902
+ $modules[] = array(
1903
+ 'name' => 'wc_appointments',
1904
+ 'title' => __( 'WooCommerce Appointments', 'woocommerce-exporter' ),
1905
+ 'description' => __( 'Setup appointable products for WooCommerce.', 'woocommerce-exporter' ),
1906
+ 'url' => 'http://www.bizzthemes.com/plugins/woocommerce-appointments/',
1907
+ 'class' => 'WC_Appointments'
1908
+ );
1909
+ $modules[] = array(
1910
+ 'name' => 'seo_squirrly',
1911
+ 'title' => __( 'SEO Squirrly', 'woocommerce-exporter' ),
1912
+ 'description' => __( 'SEO Squirrly is for the NON-SEO experts. Get Excellent SEO with Better Content, Ranking and Analytics. For Both Humans and Search Bots.', 'woocommerce-exporter' ),
1913
+ 'url' => 'https://wordpress.org/plugins/squirrly-seo/',
1914
+ 'slug' => 'squirrly-seo',
1915
+ 'function' => 'sq_phpError'
1916
+ );
1917
+ $modules[] = array(
1918
+ 'name' => 'tickera',
1919
+ 'title' => __( 'Tickera', 'woocommerce-exporter' ),
1920
+ 'description' => __( 'Simple event ticketing system.', 'woocommerce-exporter' ),
1921
+ 'url' => 'https://tickera.com/',
1922
+ 'slug' => 'tickera',
1923
+ 'class' => 'TC'
1924
+ );
1925
+ $modules[] = array(
1926
+ 'name' => 'wc_measurement_price_calc',
1927
+ 'title' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1928
+ 'description' => __( 'WooCommerce plugin to provide price and quantity calculations based on product measurements.', 'woocommerce-exporter' ),
1929
+ 'url' => 'http://www.woocommerce.com/products/measurement-price-calculator/',
1930
+ 'function' => 'init_woocommerce_measurement_price_calculator'
1931
+ );
1932
+ $modules[] = array(
1933
+ 'name' => 'wc_stripe',
1934
+ 'title' => __( 'WooCommerce Stripe Payment Gateway', 'woocommerce-exporter' ),
1935
+ 'description' => __( 'Take credit card payments on your store using Stripe.', 'woocommerce-exporter' ),
1936
+ 'url' => 'https://wordpress.org/plugins/woocommerce-gateway-stripe/',
1937
+ 'slug' => 'woocommerce-gateway-stripe',
1938
+ 'class' => 'WC_Stripe'
1939
+ );
1940
1941
// Ship to Multiple Addresses - WC_Ship_Multiple
1942
includes/order-extend.php CHANGED
@@ -3,13 +3,18 @@
3
function woo_ce_extend_order_fields( $fields = array() ) {
4
5
// Product Add-ons - http://www.woothemes.com/
6
- if( class_exists( 'Product_Addon_Admin' ) || class_exists( 'Product_Addon_Display' ) ) {
7
$product_addons = woo_ce_get_product_addons();
8
if( !empty( $product_addons ) ) {
9
foreach( $product_addons as $product_addon ) {
10
if( !empty( $product_addon ) ) {
11
$fields[] = array(
12
- 'name' => sprintf( 'order_items_product_addon_%s', $product_addon->post_name ),
13
'label' => sprintf( __( 'Order Items: %s', 'woocommerce-exporter' ), ucfirst( $product_addon->post_title ) ),
14
'hover' => sprintf( apply_filters( 'woo_ce_extend_order_fields_product_addons', '%s: %s' ), __( 'Product Add-ons', 'woocommerce-exporter' ), $product_addon->form_title )
15
);
@@ -21,7 +26,7 @@ function woo_ce_extend_order_fields( $fields = array() ) {
21
22
// WooCommerce Sequential Order Numbers - http://www.skyverge.com/blog/woocommerce-sequential-order-numbers/
23
// Sequential Order Numbers Pro - http://www.woothemes.com/products/sequential-order-numbers-pro/
24
- if( class_exists( 'WC_Seq_Order_Number' ) || class_exists( 'WC_Seq_Order_Number_Pro' ) ) {
25
$fields[] = array(
26
'name' => 'order_number',
27
'label' => __( 'Order Number', 'woocommerce-exporter' )
@@ -830,6 +835,86 @@ function woo_ce_extend_order_fields( $fields = array() ) {
830
);
831
}
832
833
// WooCommerce Custom Fields - http://www.rightpress.net/woocommerce-custom-fields
834
if( woo_ce_detect_export_plugin( 'wc_customfields' ) ) {
835
if( get_option( 'wccf_migrated_to_20' ) ) {
@@ -1168,19 +1253,53 @@ function woo_ce_extend_order_items_fields( $fields = array() ) {
1168
// WooCommerce Easy Bookings - https://wordpress.org/plugins/woocommerce-easy-booking-system/
1169
if( woo_ce_detect_export_plugin( 'wc_easybooking' ) ) {
1170
$fields[] = array(
1171
- 'name' => 'order_items_start_date',
1172
'label' => __( 'Order Items: Start', 'woocommerce-exporter' ),
1173
'hover' => __( 'WooCommerce Easy Bookings', 'woocommerce-exporter' )
1174
);
1175
$fields[] = array(
1176
- 'name' => 'order_items_end_date',
1177
'label' => __( 'Order Items: End', 'woocommerce-exporter' ),
1178
'hover' => __( 'WooCommerce Easy Bookings', 'woocommerce-exporter' )
1179
);
1180
}
1181
1182
if( apply_filters( 'woo_ce_enable_product_attributes', true ) ) {
1183
- // Attributes
1184
if( $attributes = woo_ce_get_product_attributes() ) {
1185
foreach( $attributes as $attribute ) {
1186
$attribute->attribute_label = trim( $attribute->attribute_label );
3
function woo_ce_extend_order_fields( $fields = array() ) {
4
5
// Product Add-ons - http://www.woothemes.com/
6
+ if( woo_ce_detect_export_plugin( 'product_addons' ) ) {
7
+ $fields[] = array(
8
+ 'name' => 'order_items_product_addons_summary',
9
+ 'label' => __( 'Order Items: Product Add-ons', 'woocommerce-exporter' ),
10
+ 'hover' => sprintf( apply_filters( 'woo_ce_extend_order_fields_product_addons_summary', '%s' ), __( 'Product Add-ons', 'woocommerce-exporter' ) )
11
+ );
12
$product_addons = woo_ce_get_product_addons();
13
if( !empty( $product_addons ) ) {
14
foreach( $product_addons as $product_addon ) {
15
if( !empty( $product_addon ) ) {
16
$fields[] = array(
17
+ 'name' => sprintf( 'order_items_product_addon_%s', sanitize_key( $product_addon->post_name ) ),
18
'label' => sprintf( __( 'Order Items: %s', 'woocommerce-exporter' ), ucfirst( $product_addon->post_title ) ),
19
'hover' => sprintf( apply_filters( 'woo_ce_extend_order_fields_product_addons', '%s: %s' ), __( 'Product Add-ons', 'woocommerce-exporter' ), $product_addon->form_title )
20
);
26
27
// WooCommerce Sequential Order Numbers - http://www.skyverge.com/blog/woocommerce-sequential-order-numbers/
28
// Sequential Order Numbers Pro - http://www.woothemes.com/products/sequential-order-numbers-pro/
29
+ if( woo_ce_detect_export_plugin( 'seq' ) || woo_ce_detect_export_plugin( 'seq_pro' ) ) {
30
$fields[] = array(
31
'name' => 'order_number',
32
'label' => __( 'Order Number', 'woocommerce-exporter' )
835
);
836
}
837
838
+ // Tickera - https://tickera.com/
839
+ if( woo_ce_detect_export_plugin( 'tickera' ) ) {
840
+ $fields[] = array(
841
+ 'name' => 'ticket_id',
842
+ 'label' => __( 'Ticket ID', 'woocommerce-exporter' ),
843
+ 'hover' => __( 'Tickera', 'woocommerce-exporter' )
844
+ );
845
+ $fields[] = array(
846
+ 'name' => 'ticket_code',
847
+ 'label' => __( 'Ticket Code', 'woocommerce-exporter' ),
848
+ 'hover' => __( 'Tickera', 'woocommerce-exporter' )
849
+ );
850
+ $fields[] = array(
851
+ 'name' => 'ticket_type_id',
852
+ 'label' => __( 'Ticket Type ID', 'woocommerce-exporter' ),
853
+ 'hover' => __( 'Tickera', 'woocommerce-exporter' )
854
+ );
855
+ $fields[] = array(
856
+ 'name' => 'ticket_event_id',
857
+ 'label' => __( 'Ticket Event ID', 'woocommerce-exporter' ),
858
+ 'hover' => __( 'Tickera', 'woocommerce-exporter' )
859
+ );
860
+ $fields[] = array(
861
+ 'name' => 'ticket_first_name',
862
+ 'label' => __( 'Ticket First Name', 'woocommerce-exporter' ),
863
+ 'hover' => __( 'Tickera', 'woocommerce-exporter' )
864
+ );
865
+ $fields[] = array(
866
+ 'name' => 'ticket_last_name',
867
+ 'label' => __( 'Ticket Last Name', 'woocommerce-exporter' ),
868
+ 'hover' => __( 'Tickera', 'woocommerce-exporter' )
869
+ );
870
+ $tickera_fields = woo_ce_get_tickera_custom_fields();
871
+ if( !empty( $tickera_fields ) ) {
872
+ foreach( $tickera_fields as $tickera_field ) {
873
+ $fields[] = array(
874
+ 'name' => sprintf( 'ticket_custom_%s', sanitize_key( $tickera_field['name'] ) ),
875
+ 'label' => sprintf( __( 'Ticket: %s', 'woocommerce-exporter' ), $tickera_field['label'] ),
876
+ 'hover' => __( 'Tickera', 'woocommerce-exporter' )
877
+ );
878
+ }
879
+ }
880
+ unset( $tickera_fields );
881
+
882
+ }
883
+
884
+ // WooCommerce Stripe Payment Gateway - https://wordpress.org/plugins/woocommerce-gateway-stripe/
885
+ if( woo_ce_detect_export_plugin( 'wc_stripe' ) ) {
886
+ $fields[] = array(
887
+ 'name' => 'stripe_customer_id',
888
+ 'label' => __( 'Stripe: Customer ID', 'woocommerce-exporter' ),
889
+ 'hover' => __( 'WooCommerce Stripe Payment Gateway', 'woocommerce-exporter' )
890
+ );
891
+ $fields[] = array(
892
+ 'name' => 'stripe_card_id',
893
+ 'label' => __( 'Stripe: Card ID', 'woocommerce-exporter' ),
894
+ 'hover' => __( 'WooCommerce Stripe Payment Gateway', 'woocommerce-exporter' )
895
+ );
896
+ $fields[] = array(
897
+ 'name' => 'stripe_charge_captured',
898
+ 'label' => __( 'Stripe: Charge Captured', 'woocommerce-exporter' ),
899
+ 'hover' => __( 'WooCommerce Stripe Payment Gateway', 'woocommerce-exporter' )
900
+ );
901
+ $fields[] = array(
902
+ 'name' => 'stripe_payment_id',
903
+ 'label' => __( 'Stripe: Payment ID', 'woocommerce-exporter' ),
904
+ 'hover' => __( 'WooCommerce Stripe Payment Gateway', 'woocommerce-exporter' )
905
+ );
906
+ $fields[] = array(
907
+ 'name' => 'stripe_fee',
908
+ 'label' => __( 'Stripe: Fee', 'woocommerce-exporter' ),
909
+ 'hover' => __( 'WooCommerce Stripe Payment Gateway', 'woocommerce-exporter' )
910
+ );
911
+ $fields[] = array(
912
+ 'name' => 'stripe_net_revenue',
913
+ 'label' => __( 'Stripe: Net Revenue from Stripe', 'woocommerce-exporter' ),
914
+ 'hover' => __( 'WooCommerce Stripe Payment Gateway', 'woocommerce-exporter' )
915
+ );
916
+ }
917
+
918
// WooCommerce Custom Fields - http://www.rightpress.net/woocommerce-custom-fields
919
if( woo_ce_detect_export_plugin( 'wc_customfields' ) ) {
920
if( get_option( 'wccf_migrated_to_20' ) ) {
1253
// WooCommerce Easy Bookings - https://wordpress.org/plugins/woocommerce-easy-booking-system/
1254
if( woo_ce_detect_export_plugin( 'wc_easybooking' ) ) {
1255
$fields[] = array(
1256
+ 'name' => 'order_items_booking_start_date',
1257
'label' => __( 'Order Items: Start', 'woocommerce-exporter' ),
1258
'hover' => __( 'WooCommerce Easy Bookings', 'woocommerce-exporter' )
1259
);
1260
$fields[] = array(
1261
+ 'name' => 'order_items_booking_end_date',
1262
'label' => __( 'Order Items: End', 'woocommerce-exporter' ),
1263
'hover' => __( 'WooCommerce Easy Bookings', 'woocommerce-exporter' )
1264
);
1265
}
1266
1267
+ // WooCommerce Appointments - http://www.bizzthemes.com/plugins/woocommerce-appointments/
1268
+ if( woo_ce_detect_export_plugin( 'wc_appointments' ) ) {
1269
+ $fields[] = array(
1270
+ 'name' => 'order_items_appointment_id',
1271
+ 'label' => __( 'Order Items: Appointment ID', 'woocommerce-exporter' ),
1272
+ 'hover' => __( 'WooCommerce Appointments', 'woocommerce-exporter' )
1273
+ );
1274
+ $fields[] = array(
1275
+ 'name' => 'order_items_booking_start_date',
1276
+ 'label' => __( 'Order Items: Start Date', 'woocommerce-exporter' ),
1277
+ 'hover' => __( 'WooCommerce Appointments', 'woocommerce-exporter' )
1278
+ );
1279
+ $fields[] = array(
1280
+ 'name' => 'order_items_booking_start_time',
1281
+ 'label' => __( 'Order Items: Start Time', 'woocommerce-exporter' ),
1282
+ 'hover' => __( 'WooCommerce Appointments', 'woocommerce-exporter' )
1283
+ );
1284
+ $fields[] = array(
1285
+ 'name' => 'order_items_booking_end_date',
1286
+ 'label' => __( 'Order Items: End Date', 'woocommerce-exporter' ),
1287
+ 'hover' => __( 'WooCommerce Appointments', 'woocommerce-exporter' )
1288
+ );
1289
+ $fields[] = array(
1290
+ 'name' => 'order_items_booking_end_time',
1291
+ 'label' => __( 'Order Items: End Time', 'woocommerce-exporter' ),
1292
+ 'hover' => __( 'WooCommerce Appointments', 'woocommerce-exporter' )
1293
+ );
1294
+ $fields[] = array(
1295
+ 'name' => 'order_items_booking_all_day',
1296
+ 'label' => __( 'Order Items: All Day Booking' ),
1297
+ 'hover' => __( 'WooCommerce Appointments', 'woocommerce-exporter' )
1298
+ );
1299
+ }
1300
+
1301
if( apply_filters( 'woo_ce_enable_product_attributes', true ) ) {
1302
+ // Product Attributes
1303
if( $attributes = woo_ce_get_product_attributes() ) {
1304
foreach( $attributes as $attribute ) {
1305
$attribute->attribute_label = trim( $attribute->attribute_label );
includes/order.php CHANGED
@@ -148,7 +148,7 @@ function woo_ce_get_order_fields( $format = 'full', $post_ID = 0 ) {
148
'label' => __( 'Shipping Cost', 'woocommerce-exporter' )
149
);
150
$fields[] = array(
151
- 'name' => 'shipping_weight',
152
'label' => __( 'Shipping Weight', 'woocommerce-exporter' )
153
);
154
$fields[] = array(
@@ -183,6 +183,33 @@ function woo_ce_get_order_fields( $format = 'full', $post_ID = 0 ) {
183
'name' => 'order_notes',
184
'label' => __( 'Order Notes', 'woocommerce-exporter' )
185
);
186
$fields[] = array(
187
'name' => 'total_quantity',
188
'label' => __( 'Total Quantity', 'woocommerce-exporter' )
@@ -339,9 +366,15 @@ function woo_ce_get_order_fields( $format = 'full', $post_ID = 0 ) {
339
);
340
*/
341
342
// Allow Plugin/Theme authors to add support for additional Order columns
343
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', $export_type ), $fields, $export_type );
344
345
$fields[] = array(
346
'name' => 'order_items_id',
347
'label' => __( 'Order Items: ID', 'woocommerce-exporter' )
@@ -478,9 +511,16 @@ function woo_ce_get_order_fields( $format = 'full', $post_ID = 0 ) {
478
'label' => __( 'Order Items: Total Weight', 'woocommerce-exporter' )
479
);
480
481
// Allow Plugin/Theme authors to add support for additional Order Item columns
482
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', 'order_items' ), $fields, $export_type );
483
484
switch( $format ) {
485
486
case 'summary':
@@ -496,7 +536,8 @@ function woo_ce_get_order_fields( $format = 'full', $post_ID = 0 ) {
496
case 'full':
497
default:
498
// Load the default sorting
499
- $sorting = woo_ce_get_option( sprintf( '%s_sorting', $export_type ), array() );
500
$size = count( $fields );
501
for( $i = 0; $i < $size; $i++ ) {
502
if( !isset( $fields[$i]['name'] ) ) {
148
'label' => __( 'Shipping Cost', 'woocommerce-exporter' )
149
);
150
$fields[] = array(
151
+ 'name' => 'shipping_weight_total',
152
'label' => __( 'Shipping Weight', 'woocommerce-exporter' )
153
);
154
$fields[] = array(
183
'name' => 'order_notes',
184
'label' => __( 'Order Notes', 'woocommerce-exporter' )
185
);
186
+ // PayPal
187
+ $fields[] = array(
188
+ 'name' => 'paypal_payer_paypal_address',
189
+ 'label' => __( 'PayPal: Payer PayPal Address', 'woocommerce-exporter' ),
190
+ 'hover' => __( 'PayPal', 'woocommerce-exporter' )
191
+ );
192
+ $fields[] = array(
193
+ 'name' => 'paypal_payer_first_name',
194
+ 'label' => __( 'PayPal: Payer first name', 'woocommerce-exporter' ),
195
+ 'hover' => __( 'PayPal', 'woocommerce-exporter' )
196
+ );
197
+ $fields[] = array(
198
+ 'name' => 'paypal_payer_last_name',
199
+ 'label' => __( 'PayPal: Payer last name', 'woocommerce-exporter' ),
200
+ 'hover' => __( 'PayPal', 'woocommerce-exporter' )
201
+ );
202
+ $fields[] = array(
203
+ 'name' => 'paypal_payment_type',
204
+ 'label' => __( 'PayPal: Payment type', 'woocommerce-exporter' ),
205
+ 'hover' => __( 'PayPal', 'woocommerce-exporter' )
206
+ );
207
+ $fields[] = array(
208
+ 'name' => 'paypal_payment_status',
209
+ 'label' => __( 'PayPal: Payment status', 'woocommerce-exporter' ),
210
+ 'hover' => __( 'PayPal', 'woocommerce-exporter' )
211
+ );
212
+
213
$fields[] = array(
214
'name' => 'total_quantity',
215
'label' => __( 'Total Quantity', 'woocommerce-exporter' )
366
);
367
*/
368
369
+ // Drop in our content filters here
370
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
371
+
372
// Allow Plugin/Theme authors to add support for additional Order columns
373
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', $export_type ), $fields, $export_type );
374
375
+ // Remove our content filters here to play nice with other Plugins
376
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
377
+
378
$fields[] = array(
379
'name' => 'order_items_id',
380
'label' => __( 'Order Items: ID', 'woocommerce-exporter' )
511
'label' => __( 'Order Items: Total Weight', 'woocommerce-exporter' )
512
);
513
514
+ // Drop in our content filters here
515
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
516
+
517
// Allow Plugin/Theme authors to add support for additional Order Item columns
518
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', 'order_items' ), $fields, $export_type );
519
520
+ // Remove our content filters here to play nice with other Plugins
521
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
522
+
523
+
524
switch( $format ) {
525
526
case 'summary':
536
case 'full':
537
default:
538
// Load the default sorting
539
+ if( empty( $sorting ) )
540
+ $sorting = woo_ce_get_option( sprintf( '%s_sorting', $export_type ), array() );
541
$size = count( $fields );
542
for( $i = 0; $i < $size; $i++ ) {
543
if( !isset( $fields[$i]['name'] ) ) {
includes/product-extend.php CHANGED
@@ -1125,6 +1125,274 @@ function woo_ce_extend_product_fields( $fields = array() ) {
1125
);
1126
}
1127
1128
// Custom Product meta
1129
$custom_products = woo_ce_get_option( 'custom_products', '' );
1130
if( !empty( $custom_products ) ) {
1125
);
1126
}
1127
1128
+ // WooCommerce Chained Products - https://woocommerce.com/products/chained-products/
1129
+ if( woo_ce_detect_export_plugin( 'wc_chained_products' ) ) {
1130
+ $fields[] = array(
1131
+ 'name' => 'chained_products',
1132
+ 'label' => __( 'Chained Products', 'woocommerce-exporter' ),
1133
+ 'hover' => __( 'WooCommerce Chained Products', 'woocommerce-exporter' ),
1134
+ 'disabled' => 1
1135
+ );
1136
+ $fields[] = array(
1137
+ 'name' => 'chained_products_ids',
1138
+ 'label' => __( 'Chained Product IDs', 'woocommerce-exporter' ),
1139
+ 'hover' => __( 'WooCommerce Chained Products', 'woocommerce-exporter' ),
1140
+ 'disabled' => 1
1141
+ );
1142
+ $fields[] = array(
1143
+ 'name' => 'chained_products_names',
1144
+ 'label' => __( 'Chained Product Names', 'woocommerce-exporter' ),
1145
+ 'hover' => __( 'WooCommerce Chained Products', 'woocommerce-exporter' ),
1146
+ 'disabled' => 1
1147
+ );
1148
+ $fields[] = array(
1149
+ 'name' => 'chained_products_skus',
1150
+ 'label' => __( 'Chained Product SKUs', 'woocommerce-exporter' ),
1151
+ 'hover' => __( 'WooCommerce Chained Products', 'woocommerce-exporter' ),
1152
+ 'disabled' => 1
1153
+ );
1154
+ $fields[] = array(
1155
+ 'name' => 'chained_products_units',
1156
+ 'label' => __( 'Chained Product Units', 'woocommerce-exporter' ),
1157
+ 'hover' => __( 'WooCommerce Chained Products', 'woocommerce-exporter' ),
1158
+ 'disabled' => 1
1159
+ );
1160
+ $fields[] = array(
1161
+ 'name' => 'chained_products_manage_stock',
1162
+ 'label' => __( 'Manage Stock for Chained Products', 'woocommerce-exporter' ),
1163
+ 'hover' => __( 'WooCommerce Chained Products', 'woocommerce-exporter' ),
1164
+ 'disabled' => 1
1165
+ );
1166
+ }
1167
+
1168
+ // WooCommerce Sample - https://wordpress.org/plugins/woocommerce-sample/
1169
+ if( woo_ce_detect_export_plugin( 'wc_sample' ) ) {
1170
+ $fields[] = array(
1171
+ 'name' => 'enable_sample',
1172
+ 'label' => __( 'Enable Sample', 'woocommerce-exporter' ),
1173
+ 'hover' => __( 'WooCommerce Sample', 'woocommerce-exporter' ),
1174
+ 'disabled' => 1
1175
+ );
1176
+
1177
+ // WooCommerce Chained Products - https://woocommerce.com/products/chained-products/
1178
+ if( woo_ce_detect_export_plugin( 'wc_chained_products' ) ) {
1179
+ $fields[] = array(
1180
+ 'name' => 'enable_sample_chained',
1181
+ 'label' => __( 'Enable Sample on Chained Products', 'woocommerce-exporter' ),
1182
+ 'hover' => __( 'WooCommerce Sample', 'woocommerce-exporter' ),
1183
+ 'disabled' => 1
1184
+ );
1185
+ }
1186
+ $fields[] = array(
1187
+ 'name' => 'sample_shipping_mode',
1188
+ 'label' => __( 'Sample Shipping Mode', 'woocommerce-exporter' ),
1189
+ 'hover' => __( 'WooCommerce Sample', 'woocommerce-exporter' ),
1190
+ 'disabled' => 1
1191
+ );
1192
+ $fields[] = array(
1193
+ 'name' => 'sample_shipping',
1194
+ 'label' => __( 'Sample Shipping', 'woocommerce-exporter' ),
1195
+ 'hover' => __( 'WooCommerce Sample', 'woocommerce-exporter' ),
1196
+ 'disabled' => 1
1197
+ );
1198
+ $fields[] = array(
1199
+ 'name' => 'sample_price_mode',
1200
+ 'label' => __( 'Sample Price Mode', 'woocommerce-exporter' ),
1201
+ 'hover' => __( 'WooCommerce Sample', 'woocommerce-exporter' ),
1202
+ 'disabled' => 1
1203
+ );
1204
+ $fields[] = array(
1205
+ 'name' => 'sample_price',
1206
+ 'label' => __( 'Sample Price', 'woocommerce-exporter' ),
1207
+ 'hover' => __( 'WooCommerce Sample', 'woocommerce-exporter' ),
1208
+ 'disabled' => 1
1209
+ );
1210
+ }
1211
+
1212
+ // AG WooCommerce Barcode / ISBN & Amazon ASIN - PRO - https://www.weareag.co.uk/product/woocommerce-barcodeisbn-amazon-asin-pro/
1213
+ if( woo_ce_detect_export_plugin( 'wc_ag_barcode_pro' ) ) {
1214
+ $fields[] = array(
1215
+ 'name' => 'barcode',
1216
+ 'label' => __( 'Barcode', 'woocommerce-exporter' ),
1217
+ 'hover' => __( 'AG WooCommerce Barcode / ISBN & Amazon ASIN - PRO', 'woocommerce-exporter' ),
1218
+ 'disabled' => 1
1219
+ );
1220
+ $fields[] = array(
1221
+ 'name' => 'isbn',
1222
+ 'label' => __( 'ISBN', 'woocommerce-exporter' ),
1223
+ 'hover' => __( 'AG WooCommerce Barcode / ISBN & Amazon ASIN - PRO', 'woocommerce-exporter' ),
1224
+ 'disabled' => 1
1225
+ );
1226
+ $fields[] = array(
1227
+ 'name' => 'amazon',
1228
+ 'label' => __( 'ASIN', 'woocommerce-exporter' ),
1229
+ 'hover' => __( 'AG WooCommerce Barcode / ISBN & Amazon ASIN - PRO', 'woocommerce-exporter' ),
1230
+ 'disabled' => 1
1231
+ );
1232
+ }
1233
+
1234
+ // SEO Squirrly - https://wordpress.org/plugins/squirrly-seo/
1235
+ if( woo_ce_detect_export_plugin( 'seo_squirrly' ) ) {
1236
+ $fields[] = array(
1237
+ 'name' => 'sq_keywords',
1238
+ 'label' => __( 'Keywords', 'woocommerce-exporter' ),
1239
+ 'hover' => __( 'SEO Squirrly', 'woocommerce-exporter' ),
1240
+ 'disabled' => 1
1241
+ );
1242
+ }
1243
+
1244
+ // WooCommerce Measurement Price Calculator - http://www.woocommerce.com/products/measurement-price-calculator/
1245
+ if( woo_ce_detect_export_plugin( 'wc_measurement_price_calc' ) ) {
1246
+ $fields[] = array(
1247
+ 'name' => 'area',
1248
+ 'label' => __( 'Area', 'woocommerce-exporter' ),
1249
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1250
+ 'disabled' => 1
1251
+ );
1252
+ $fields[] = array(
1253
+ 'name' => 'volume',
1254
+ 'label' => __( 'Volume', 'woocommerce-exporter' ),
1255
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1256
+ 'disabled' => 1
1257
+ );
1258
+ $fields[] = array(
1259
+ 'name' => 'measurement',
1260
+ 'label' => __( 'Measurement', 'woocommerce-exporter' ),
1261
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1262
+ 'disabled' => 1
1263
+ );
1264
+ // Dimensions
1265
+ $fields[] = array(
1266
+ 'name' => 'measurement_dimension_pricing',
1267
+ 'label' => __( 'Dimension: Show Product Price Per Unit', 'woocommerce-exporter' ),
1268
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1269
+ 'disabled' => 1
1270
+ );
1271
+ $fields[] = array(
1272
+ 'name' => 'measurement_dimension_pricing_label',
1273
+ 'label' => __( 'Dimension: Pricing Label', 'woocommerce-exporter' ),
1274
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1275
+ 'disabled' => 1
1276
+ );
1277
+ $fields[] = array(
1278
+ 'name' => 'measurement_dimension_pricing_unit',
1279
+ 'label' => __( 'Dimension: Pricing Unit', 'woocommerce-exporter' ),
1280
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1281
+ 'disabled' => 1
1282
+ );
1283
+ // Area
1284
+ $fields[] = array(
1285
+ 'name' => 'measurement_area_pricing',
1286
+ 'label' => __( 'Area: Show Product Price Per Unit', 'woocommerce-exporter' ),
1287
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1288
+ 'disabled' => 1
1289
+ );
1290
+ $fields[] = array(
1291
+ 'name' => 'measurement_area_pricing_label',
1292
+ 'label' => __( 'Area: Pricing Label', 'woocommerce-exporter' ),
1293
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1294
+ 'disabled' => 1
1295
+ );
1296
+ $fields[] = array(
1297
+ 'name' => 'measurement_area_pricing_unit',
1298
+ 'label' => __( 'Area: Pricing Unit', 'woocommerce-exporter' ),
1299
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1300
+ 'disabled' => 1
1301
+ );
1302
+ // Area (LxW)
1303
+ $fields[] = array(
1304
+ 'name' => 'measurement_area_dimension_pricing',
1305
+ 'label' => __( 'Area Dimension: Show Product Price Per Unit', 'woocommerce-exporter' ),
1306
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1307
+ 'disabled' => 1
1308
+ );
1309
+ $fields[] = array(
1310
+ 'name' => 'measurement_area_dimension_pricing_label',
1311
+ 'label' => __( 'Area Dimension: Pricing Label', 'woocommerce-exporter' ),
1312
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1313
+ 'disabled' => 1
1314
+ );
1315
+ $fields[] = array(
1316
+ 'name' => 'measurement_area_dimension_pricing_unit',
1317
+ 'label' => __( 'Area Dimension: Pricing Unit', 'woocommerce-exporter' ),
1318
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1319
+ 'disabled' => 1
1320
+ );
1321
+ $fields[] = array(
1322
+ 'name' => 'measurement_area_dimension_length_label',
1323
+ 'label' => __( 'Area Dimension: Length Label', 'woocommerce-exporter' ),
1324
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1325
+ 'disabled' => 1
1326
+ );
1327
+ $fields[] = array(
1328
+ 'name' => 'measurement_area_dimension_length_unit',
1329
+ 'label' => __( 'Area Dimension: Length Unit', 'woocommerce-exporter' ),
1330
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1331
+ 'disabled' => 1
1332
+ );
1333
+ $fields[] = array(
1334
+ 'name' => 'measurement_area_dimension_width_label',
1335
+ 'label' => __( 'Area Dimension: Width Label', 'woocommerce-exporter' ),
1336
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1337
+ 'disabled' => 1
1338
+ );
1339
+ $fields[] = array(
1340
+ 'name' => 'measurement_area_dimension_width_unit',
1341
+ 'label' => __( 'Area Dimension: Width Unit', 'woocommerce-exporter' ),
1342
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1343
+ 'disabled' => 1
1344
+ );
1345
+ // Perimeter
1346
+ $fields[] = array(
1347
+ 'name' => 'measurement_area_linear_pricing',
1348
+ 'label' => __( 'Perimeter Show Product Price Per Unit', 'woocommerce-exporter' ),
1349
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1350
+ 'disabled' => 1
1351
+ );
1352
+ $fields[] = array(
1353
+ 'name' => 'measurement_area_linear_pricing_label',
1354
+ 'label' => __( 'Perimeter: Pricing Label', 'woocommerce-exporter' ),
1355
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1356
+ 'disabled' => 1
1357
+ );
1358
+ $fields[] = array(
1359
+ 'name' => 'measurement_area_linear_pricing_unit',
1360
+ 'label' => __( 'Perimeter: Pricing Unit', 'woocommerce-exporter' ),
1361
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1362
+ 'disabled' => 1
1363
+ );
1364
+ $fields[] = array(
1365
+ 'name' => 'measurement_area_linear_length_label',
1366
+ 'label' => __( 'Perimeter: Length Label', 'woocommerce-exporter' ),
1367
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1368
+ 'disabled' => 1
1369
+ );
1370
+ $fields[] = array(
1371
+ 'name' => 'measurement_area_linear_length_unit',
1372
+ 'label' => __( 'Perimeter: Length Unit', 'woocommerce-exporter' ),
1373
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1374
+ 'disabled' => 1
1375
+ );
1376
+ $fields[] = array(
1377
+ 'name' => 'measurement_area_linear_width_label',
1378
+ 'label' => __( 'Perimeter: Width Label', 'woocommerce-exporter' ),
1379
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1380
+ 'disabled' => 1
1381
+ );
1382
+ $fields[] = array(
1383
+ 'name' => 'measurement_area_linear_width_unit',
1384
+ 'label' => __( 'Perimete: Width Unit', 'woocommerce-exporter' ),
1385
+ 'hover' => __( 'WooCommerce Measurement Price Calculator', 'woocommerce-exporter' ),
1386
+ 'disabled' => 1
1387
+ );
1388
+ // Surface Area
1389
+ // Volume
1390
+ // Volume (LxWxH)
1391
+ // Volume (AxH)
1392
+ // Weight
1393
+ // Room Walls
1394
+ }
1395
+
1396
// Custom Product meta
1397
$custom_products = woo_ce_get_option( 'custom_products', '' );
1398
if( !empty( $custom_products ) ) {
includes/product.php CHANGED
@@ -343,13 +343,13 @@ function woo_ce_get_product_fields( $format = 'full' ) {
343
*/
344
345
// Drop in our content filters here
346
- add_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
347
348
// Allow Plugin/Theme authors to add support for additional columns
349
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', $export_type ), $fields, $export_type );
350
351
// Remove our content filters here to play nice with other Plugins
352
- remove_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
353
354
$remember = woo_ce_get_option( $export_type . '_fields', array() );
355
if( !empty( $remember ) ) {
@@ -588,8 +588,8 @@ function woo_ce_get_product_data( $product_id = 0, $args = array() ) {
588
$product->permalink = get_permalink( $product_id );
589
$product->product_url = ( method_exists( $_product, 'get_permalink' ) ? $_product->get_permalink() : get_permalink( $product_id ) );
590
$product->slug = $product->post_name;
591
- $product->description = $product->post_content;
592
- $product->excerpt = $product->post_excerpt;
593
$product->regular_price = get_post_meta( $product_id, '_regular_price', true );
594
// Check that a valid price has been provided and that wc_format_localized_price() exists
595
if( isset( $product->regular_price ) && $product->regular_price != '' && function_exists( 'wc_format_localized_price' ) )
@@ -610,9 +610,14 @@ function woo_ce_get_product_data( $product_id = 0, $args = array() ) {
610
$product->post_modified = woo_ce_format_date( $product->post_modified );
611
$product->type = woo_ce_get_product_assoc_type( $product_id );
612
if( $product->post_type == 'product_variation' ) {
613
$product->type = __( 'Variation', 'woocommerce-exporter' );
614
}
615
- $product->visibility = woo_ce_format_product_visibility( $product_id, get_post_meta( $product_id, '_visibility', true ) );
616
$product->featured = woo_ce_format_switch( get_post_meta( $product_id, '_featured', true ) );
617
$product->virtual = woo_ce_format_switch( get_post_meta( $product_id, '_virtual', true ) );
618
$product->downloadable = woo_ce_format_switch( get_post_meta( $product_id, '_downloadable', true ) );
@@ -1020,7 +1025,7 @@ function woo_ce_format_product_visibility( $product_id = 0, $visibility = '' ) {
1020
$terms = wp_get_object_terms( $product_id, $term_taxonomy, $args );
1021
if( !empty( $terms ) && is_wp_error( $terms ) == false ) {
1022
// Just for fun we have to combine Terms to decipher the Visibility
1023
- if( in_array( 'exclude-from-search', $terms ) && in_array( 'exclude-from-catalog', $terms) )
1024
$visibility = 'hidden';
1025
else if( in_array( 'exclude-from-search', $terms ) )
1026
$visibility = 'catalog';
343
*/
344
345
// Drop in our content filters here
346
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
347
348
// Allow Plugin/Theme authors to add support for additional columns
349
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', $export_type ), $fields, $export_type );
350
351
// Remove our content filters here to play nice with other Plugins
352
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
353
354
$remember = woo_ce_get_option( $export_type . '_fields', array() );
355
if( !empty( $remember ) ) {
588
$product->permalink = get_permalink( $product_id );
589
$product->product_url = ( method_exists( $_product, 'get_permalink' ) ? $_product->get_permalink() : get_permalink( $product_id ) );
590
$product->slug = $product->post_name;
591
+ $product->description = woo_ce_format_description_excerpt( $product->post_content );
592
+ $product->excerpt = woo_ce_format_description_excerpt( $product->post_excerpt );
593
$product->regular_price = get_post_meta( $product_id, '_regular_price', true );
594
// Check that a valid price has been provided and that wc_format_localized_price() exists
595
if( isset( $product->regular_price ) && $product->regular_price != '' && function_exists( 'wc_format_localized_price' ) )
610
$product->post_modified = woo_ce_format_date( $product->post_modified );
611
$product->type = woo_ce_get_product_assoc_type( $product_id );
612
if( $product->post_type == 'product_variation' ) {
613
+ $product->description = woo_ce_format_description_excerpt( get_post_meta( $product_id, '_variation_description', true ) );
614
+ // Override the Product Type for Variations
615
$product->type = __( 'Variation', 'woocommerce-exporter' );
616
}
617
+ if( version_compare( woo_get_woo_version(), '3.0', '>=' ) )
618
+ $product->visibility = woo_ce_format_product_visibility( $product_id );
619
+ else
620
+ $product->visibility = woo_ce_format_product_visibility( $product_id, get_post_meta( $product_id, '_visibility', true ) );
621
$product->featured = woo_ce_format_switch( get_post_meta( $product_id, '_featured', true ) );
622
$product->virtual = woo_ce_format_switch( get_post_meta( $product_id, '_virtual', true ) );
623
$product->downloadable = woo_ce_format_switch( get_post_meta( $product_id, '_downloadable', true ) );
1025
$terms = wp_get_object_terms( $product_id, $term_taxonomy, $args );
1026
if( !empty( $terms ) && is_wp_error( $terms ) == false ) {
1027
// Just for fun we have to combine Terms to decipher the Visibility
1028
+ if( in_array( 'exclude-from-search', $terms ) && in_array( 'exclude-from-catalog', $terms ) )
1029
$visibility = 'hidden';
1030
else if( in_array( 'exclude-from-search', $terms ) )
1031
$visibility = 'catalog';
includes/product_vendor.php CHANGED
@@ -81,13 +81,13 @@ function woo_ce_get_product_vendor_fields( $format = 'full', $post_ID = 0 ) {
81
*/
82
83
// Drop in our content filters here
84
- add_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
85
86
// Allow Plugin/Theme authors to add support for additional columns
87
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', $export_type ), $fields, $export_type );
88
89
// Remove our content filters here to play nice with other Plugins
90
- remove_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
91
92
switch( $format ) {
93
81
*/
82
83
// Drop in our content filters here
84
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
85
86
// Allow Plugin/Theme authors to add support for additional columns
87
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', $export_type ), $fields, $export_type );
88
89
// Remove our content filters here to play nice with other Plugins
90
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
91
92
switch( $format ) {
93
includes/user.php CHANGED
@@ -90,13 +90,13 @@ function woo_ce_get_user_fields( $format = 'full' ) {
90
*/
91
92
// Drop in our content filters here
93
- add_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
94
95
// Allow Plugin/Theme authors to add support for additional columns
96
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', $export_type ), $fields, $export_type );
97
98
// Remove our content filters here to play nice with other Plugins
99
- remove_filter( 'sanitize_key', 'woo_ce_sanitize_key' );
100
101
$remember = woo_ce_get_option( $export_type . '_fields', array() );
102
if( !empty( $remember ) ) {
90
*/
91
92
// Drop in our content filters here
93
+ add_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
94
95
// Allow Plugin/Theme authors to add support for additional columns
96
$fields = apply_filters( sprintf( WOO_CE_PREFIX . '_%s_fields', $export_type ), $fields, $export_type );
97
98
// Remove our content filters here to play nice with other Plugins
99
+ remove_filter( 'sanitize_key', 'woo_ce_filter_sanitize_key' );
100
101
$remember = woo_ce_get_option( $export_type . '_fields', array() );
102
if( !empty( $remember ) ) {
readme.txt CHANGED
@@ -4,23 +4,23 @@ Contributors: visser, visser.labs
4
Donate link: https://www.visser.com.au/donations/
5
Tags: e-commerce, woocommerce, shop, cart, ecommerce, export, csv, xml, xls, xlsx, excel, customers, products, sales, orders, coupons, users, attributes, subscriptions
6
Requires at least: 2.9.2
7
- Tested up to: 4.8.1
8
- Stable tag: 1.9.2
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.).
12
13
== Description ==
14
15
- **Screen-loads of options and filters let you design advanced exports to suit your store requirements, or simply go with the default and click Export to produce concise, ready to use exports.**
16
17
- Store Exporter maintains compatibility with the latest WooCommerce updates receiving regular feature updates trusted by 20,000+ active users. Happy exporting!
18
19
= Features =
20
21
Features include:
22
23
- * Export Products (*)
24
* Export Products by Product Category
25
* Export Products by Product Status
26
* Export Products by Type including Variations
@@ -65,7 +65,7 @@ Features include:
65
>
66
> Full documentation and usage of Store Exporter Deluxe is available from the [support section for Store Exporter Deluxe](http://www.visser.com.au/documentation/store-exporter-deluxe/).
67
68
- = Native integration with 90+ WooCommerce Plugins =
69
70
Just a few of the features unlocked in the Pro upgrade of Store Exporter include:
71
@@ -89,13 +89,11 @@ Just a few of the features unlocked in the Pro upgrade of Store Exporter include
89
- Export WooCommerce Jetpack
90
- Import fields for Product Importer Deluxe
91
92
- ... and more free and Premium extensions for WooCommerce and WordPress.
93
94
- Want regular updates? Become a fan on Facebook!
95
96
- http://www.facebook.com/visser.labs/
97
-
98
- For more information visit: http://www.visser.com.au/woocommerce/
99
100
== Installation ==
101
@@ -116,9 +114,9 @@ Done!
116
117
== Support ==
118
119
- If you have any problems, questions or suggestions please join the members discussion on our WooCommerce dedicated forum.
120
121
- http://www.visser.com.au/woocommerce/forums/
122
123
== Screenshots ==
124
@@ -134,6 +132,12 @@ http://www.visser.com.au/woocommerce/forums/
134
135
== Changelog ==
136
137
= 1.9.2 =
138
* Changed: Product Visibility field matches WooCommerce 3.1 labels (thanks spbuckle)
139
* Added: Filter for legacy Product Visibility labels
4
Donate link: https://www.visser.com.au/donations/
5
Tags: e-commerce, woocommerce, shop, cart, ecommerce, export, csv, xml, xls, xlsx, excel, customers, products, sales, orders, coupons, users, attributes, subscriptions
6
Requires at least: 2.9.2
7
+ Tested up to: 4.9
8
+ Stable tag: 1.9.4
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.).
12
13
== Description ==
14
15
+ **Screen-loads of options and filters let you design advanced exports to suit your store requirements, or simply go with the default and click Export to produce concise, ready to use store exports.**
16
17
+ Store Exporter maintains compatibility with the latest WooCommerce releases through regular feature updates; as trusted by the 20,000+ active users of this Plugin. Happy exporting!
18
19
= Features =
20
21
Features include:
22
23
+ * Export Products
24
* Export Products by Product Category
25
* Export Products by Product Status
26
* Export Products by Type including Variations
65
>
66
> Full documentation and usage of Store Exporter Deluxe is available from the [support section for Store Exporter Deluxe](http://www.visser.com.au/documentation/store-exporter-deluxe/).
67
68
+ = Native export integration with 90+ WooCommerce Plugins =
69
70
Just a few of the features unlocked in the Pro upgrade of Store Exporter include:
71
89
- Export WooCommerce Jetpack
90
- Import fields for Product Importer Deluxe
91
92
+ ... and many more free and Premium extensions for WooCommerce and WordPress.
93
94
+ Want regular updates? [Become a fan on Facebook!](http://www.facebook.com/visser.labs/)
95
96
+ [For more information visit our site.](https://www.visser.com.au/solutions/woocommerce-export/)
97
98
== Installation ==
99
114
115
== Support ==
116
117
+ If you have any problems, questions or suggestions please create a topic here on the Store Exporter dedicated forum.
118
119
+ [Store Exporter on w.org](https://wordpress.org/support/plugin/woocommerce-exporter)
120
121
== Screenshots ==
122
132
133
== Changelog ==
134
135
+ = 1.9.4 =
136
+ * Added: Variation Description built into Description Product export field (thanks Kelvin)
137
+
138
+ = 1.9.3 =
139
+ * Fixed: Product Visibility not including Search and search results (thanks Triều and spbuckle)
140
+
141
= 1.9.2 =
142
* Changed: Product Visibility field matches WooCommerce 3.1 labels (thanks spbuckle)
143
* Added: Filter for legacy Product Visibility labels