CTX Feed – WooCommerce Product Feed Manager Plugin - Version 4.4.55

Version Description

(2022-03-22) = * Updated: Google Promotional Feed attributes updated. * Fixed: XLS file not generating for custom template 1 - issue has been solved. * Fixed: Filter for shipping cost for the shipping attribute.

Download this release

Release Info

Developer wahid0003
Plugin Icon 128x128 CTX Feed – WooCommerce Product Feed Manager Plugin
Version 4.4.55
Comparing to
See all releases

Code changes from version 4.4.54 to 4.4.55

README.txt CHANGED
@@ -5,7 +5,7 @@ Tags: WooCommerce Product Feed, WooCommerce, Google Shopping, Google Merchant, F
5
  Requires at least: 4.4
6
  Tested Up To: 5.9
7
  Requires PHP: 5.6
8
- Stable tag: 4.4.54
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -590,6 +590,11 @@ Using pro version:
590
 
591
  == Changelog ==
592
 
 
 
 
 
 
593
  = 4.4.54 (2022-03-15) =
594
  * Added: Custom Fields Post Meta support.
595
  * Added: WooCommerce Advanced Shipping plugin by Sormano compatibility has been added.
5
  Requires at least: 4.4
6
  Tested Up To: 5.9
7
  Requires PHP: 5.6
8
+ Stable tag: 4.4.55
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
590
 
591
  == Changelog ==
592
 
593
+ = 4.4.55 (2022-03-22) =
594
+ * Updated: Google Promotional Feed attributes updated.
595
+ * Fixed: XLS file not generating for custom template 1 - issue has been solved.
596
+ * Fixed: Filter for shipping cost for the shipping attribute.
597
+
598
  = 4.4.54 (2022-03-15) =
599
  * Added: Custom Fields Post Meta support.
600
  * Added: WooCommerce Advanced Shipping plugin by Sormano compatibility has been added.
includes/classes/class-woo-feed-constants.php CHANGED
@@ -22,7 +22,7 @@ class Woo_Feed_Constants {
22
  * @var string
23
  * @since 3.1.6
24
  */
25
- define( 'WOO_FEED_FREE_VERSION', '4.4.54' );
26
  }
27
 
28
  if ( ! defined( 'WOO_FEED_FREE_PATH' ) ) {
22
  * @var string
23
  * @since 3.1.6
24
  */
25
+ define( 'WOO_FEED_FREE_VERSION', '4.4.55' );
26
  }
27
 
28
  if ( ! defined( 'WOO_FEED_FREE_PATH' ) ) {
includes/classes/class-woo-feed-default-attributes.php CHANGED
@@ -250,7 +250,19 @@ class Woo_Feed_Default_Attributes {
250
  'free_shipping' => array( 'g:free_shipping', true ),
251
  'free_gift_value' => array( 'g:free_gift_value', true ),
252
  'free_gift_description' => array( 'g:free_gift_description', true ),
253
- 'free_gift_item_id' => array( 'g:free_gift_item_id', true ),
 
 
 
 
 
 
 
 
 
 
 
 
254
  'cost_of_goods_sold' => array( 'g:cost_of_goods_sold', true ),
255
  'sell_on_google_quantity' => array( 'g:sell_on_google_quantity', false ),
256
  'min_handling_time' => array( 'g:min_handling_time', false ),
@@ -785,6 +797,18 @@ class Woo_Feed_Default_Attributes {
785
  'free_gift_value' => 'Free Gift Value[free_gift_value]',
786
  'free_gift_description' => 'Free Gift Description[free_gift_description]',
787
  'free_gift_item_id' => 'Free Gift Item ID[free_gift_item_id]',
 
 
 
 
 
 
 
 
 
 
 
 
788
  '---16' => '',
789
  '--17' => 'Shopping Action Attributes',
790
  'sell_on_google_quantity' => 'Number of Product Sold On Google [sell_on_google_quantity]',
250
  'free_shipping' => array( 'g:free_shipping', true ),
251
  'free_gift_value' => array( 'g:free_gift_value', true ),
252
  'free_gift_description' => array( 'g:free_gift_description', true ),
253
+ 'promotion_display_dates' => array( 'g:promotion_display_dates', true ),
254
+ 'generic_redemption_code' => array( 'g:generic_redemption_code', true ),
255
+ 'fine_print' => array( 'g:fine_print', true ),
256
+ 'promotion_price' => array( 'g:promotion_price', true ),
257
+ 'coupon_value_type' => array( 'g:coupon_value_type', true ),
258
+ 'limit_quantity' => array( 'g:limit_quantity', true ),
259
+ 'limit_value' => array( 'g:limit_value', true ),
260
+ 'minimum_purchase_amount' => array( 'g:minimum_purchase_amount', true ),
261
+ 'item_id_exclusion' => array( 'g:item_id_exclusion', true ),
262
+ 'product_type_exclusion' => array( 'g:product_type_exclusion', true ),
263
+ 'brand_exclusion' => array( 'g:brand_exclusion', true ),
264
+ 'item_group_id_exclusion' => array( 'g:item_group_id_exclusion', true ),
265
+
266
  'cost_of_goods_sold' => array( 'g:cost_of_goods_sold', true ),
267
  'sell_on_google_quantity' => array( 'g:sell_on_google_quantity', false ),
268
  'min_handling_time' => array( 'g:min_handling_time', false ),
797
  'free_gift_value' => 'Free Gift Value[free_gift_value]',
798
  'free_gift_description' => 'Free Gift Description[free_gift_description]',
799
  'free_gift_item_id' => 'Free Gift Item ID[free_gift_item_id]',
800
+ 'promotion_display_dates' => 'Promotion Display Dates[promotion_display_dates]',
801
+ 'generic_redemption_code' => 'Generic Redemption Code[generic_redemption_code]',
802
+ 'fine_print' => 'Fine Print[fine_print]',
803
+ 'promotion_price' => 'Promotion Price[promotion_price]',
804
+ 'coupon_value_type' => 'Coupon Value Type[coupon_value_type]',
805
+ 'limit_quantity' => 'Limit Quantity[limit_quantity]',
806
+ 'limit_value' => 'Limit Value[limit_value]',
807
+ 'minimum_purchase_amount' => 'Minimum Purchase Amount[minimum_purchase_amount]',
808
+ 'item_id_exclusion' => 'Item ID Exclusion[item_id_exclusion]',
809
+ 'product_type_exclusion' => 'Product Type Exclusion[product_type_exclusion]',
810
+ 'brand_exclusion' => 'Brand Exclusion[brand_exclusion]',
811
+ 'item_group_id_exclusion' => 'Item Group Exclusion[item_group_id_exclusion]',
812
  '---16' => '',
813
  '--17' => 'Shopping Action Attributes',
814
  'sell_on_google_quantity' => 'Number of Product Sold On Google [sell_on_google_quantity]',
includes/classes/class-woo-feed-products-v3.php CHANGED
@@ -556,7 +556,7 @@ class Woo_Feed_Products_v3
556
  $this->process_txt_feed_header();
557
  }
558
  $this->process_txt_feed_body();
559
- } elseif ( 'csv' == $this->config['feedType'] ) {
560
  if ( empty($this->feedHeader) ) {
561
  $this->process_csv_feed_header();
562
  }
556
  $this->process_txt_feed_header();
557
  }
558
  $this->process_txt_feed_body();
559
+ } elseif ( 'csv' == $this->config['feedType'] || 'xls' == $this->config['feedType'] ) {
560
  if ( empty($this->feedHeader) ) {
561
  $this->process_csv_feed_header();
562
  }
includes/classes/class-woo-feed-savefile.php CHANGED
@@ -92,6 +92,7 @@ class Woo_Feed_Savefile {
92
  foreach ( $content as $key => $fields ) {
93
 
94
  foreach ( $fields as $value ) {
 
95
  $xl_col_value .= $value . $delimiter;
96
  }
97
 
92
  foreach ( $content as $key => $fields ) {
93
 
94
  foreach ( $fields as $value ) {
95
+ $value = preg_replace('/\\s+/', ' ', $value); //remove double whitespaces
96
  $xl_col_value .= $value . $delimiter;
97
  }
98
 
includes/classes/class-woo-feed-shipping.php CHANGED
@@ -203,7 +203,7 @@ class Woo_Feed_Shipping {
203
  // Only Free Shipping when product price is over or equal to minimum order fee
204
  if ( $this->product->get_price() >= $minimum_fee ) {
205
  // $shipping['free'] = "yes";
206
- $shipping['price'] = 0;
207
  }
208
 
209
  // else {
@@ -241,7 +241,7 @@ class Woo_Feed_Shipping {
241
  foreach ( $table_rate_ids as $id ) {
242
  $shipping_method['table_rate_id'] = $id;
243
  $shipping_cost = $this->get_shipping_cost($shipping, $shipping_method);
244
- $shipping['price'] = $shipping_cost;
245
  $shipping_info[] = $shipping;
246
  }
247
 
@@ -270,7 +270,7 @@ class Woo_Feed_Shipping {
270
 
271
  if ( isset($shipping) && ! empty($shipping) ) {
272
  $shipping_cost = $this->get_shipping_cost($shipping, $shipping_method);
273
- $shipping['price'] = $shipping_cost;
274
  }
275
  }
276
  }
203
  // Only Free Shipping when product price is over or equal to minimum order fee
204
  if ( $this->product->get_price() >= $minimum_fee ) {
205
  // $shipping['free'] = "yes";
206
+ $shipping['price'] = apply_filters('woo_feed_filter_shipping_attribute_price', 0, $method, $this->config);;
207
  }
208
 
209
  // else {
241
  foreach ( $table_rate_ids as $id ) {
242
  $shipping_method['table_rate_id'] = $id;
243
  $shipping_cost = $this->get_shipping_cost($shipping, $shipping_method);
244
+ $shipping['price'] = apply_filters('woo_feed_filter_shipping_attribute_price', $shipping_cost, $method, $this->config);
245
  $shipping_info[] = $shipping;
246
  }
247
 
270
 
271
  if ( isset($shipping) && ! empty($shipping) ) {
272
  $shipping_cost = $this->get_shipping_cost($shipping, $shipping_method);
273
+ $shipping['price'] = apply_filters('woo_feed_filter_shipping_attribute_price', $shipping_cost, $method, $this->config);
274
  }
275
  }
276
  }
woo-feed.php CHANGED
@@ -10,7 +10,7 @@
10
  * Plugin Name: CTX Feed
11
  * Plugin URI: https://webappick.com/
12
  * Description: Easily generate woocommerce product feed for any marketing channel like Google Shopping(Merchant), Facebook Remarketing, Bing, eBay & more. Support 100+ Merchants.
13
- * Version: 4.4.54
14
  * Author: WebAppick
15
  * Author URI: https://webappick.com/
16
  * License: GPL v2
10
  * Plugin Name: CTX Feed
11
  * Plugin URI: https://webappick.com/
12
  * Description: Easily generate woocommerce product feed for any marketing channel like Google Shopping(Merchant), Facebook Remarketing, Bing, eBay & more. Support 100+ Merchants.
13
+ * Version: 4.4.55
14
  * Author: WebAppick
15
  * Author URI: https://webappick.com/
16
  * License: GPL v2