Product Feed PRO for WooCommerce - Version 11.5.9

Version Description

Fixed an issue where the thousand separator for discounted prices by Flycart was causing malformed prices

Download this release

Release Info

Developer jorisverwater
Plugin Icon 128x128 Product Feed PRO for WooCommerce
Version 11.5.9
Comparing to
See all releases

Code changes from version 11.5.8 to 11.5.9

classes/class-get-products.php CHANGED
@@ -2896,13 +2896,13 @@ class WooSEA_Get_Products {
2896
  $product_data['regular_price'] = wc_get_price_including_tax($product, array('price'=> $product->get_regular_price()));
2897
  $product_data['regular_price'] = wc_format_decimal($product_data['regular_price'],2);
2898
 
2899
- $dec_regular_price = wc_price($product_data['regular_price'], $args);
2900
  preg_match('/<bdi>(.*?)&nbsp;/',$dec_regular_price, $matches_reg);
2901
  if(isset($matches_reg[1])){
2902
  $product_data['separator_regular_price'] = $matches_reg[1];
2903
  }
2904
 
2905
- $dec_sale_price = wc_price($product_data['sale_price'], $args);
2906
  preg_match('/<bdi>(.*?)&nbsp;/',$dec_sale_price, $matches_sale);
2907
  if(isset($matches_sale[1])){
2908
  $product_data['separator_sale_price'] = $matches_sale[1];
@@ -3129,6 +3129,21 @@ class WooSEA_Get_Products {
3129
  $product_data['net_sale_price'] = $discount;
3130
  $product_data['sale_price_forced'] = round($discount*($fullrate/100),2);
3131
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3132
  }
3133
  }
3134
 
2896
  $product_data['regular_price'] = wc_get_price_including_tax($product, array('price'=> $product->get_regular_price()));
2897
  $product_data['regular_price'] = wc_format_decimal($product_data['regular_price'],2);
2898
 
2899
+ $dec_regular_price = wc_price($product_data['regular_price'], $args);
2900
  preg_match('/<bdi>(.*?)&nbsp;/',$dec_regular_price, $matches_reg);
2901
  if(isset($matches_reg[1])){
2902
  $product_data['separator_regular_price'] = $matches_reg[1];
2903
  }
2904
 
2905
+ $dec_sale_price = wc_price($product_data['sale_price'], $args);
2906
  preg_match('/<bdi>(.*?)&nbsp;/',$dec_sale_price, $matches_sale);
2907
  if(isset($matches_sale[1])){
2908
  $product_data['separator_sale_price'] = $matches_sale[1];
3129
  $product_data['net_sale_price'] = $discount;
3130
  $product_data['sale_price_forced'] = round($discount*($fullrate/100),2);
3131
  }
3132
+
3133
+
3134
+ $thousand_separator = wc_get_price_thousand_separator();
3135
+
3136
+ if($thousand_separator != ','){
3137
+ $replaceWith = '';
3138
+ $product_data['price'] = preg_replace('/,/', $replaceWith, $product_data['price'], 1);
3139
+ //$product_data['price'] = floatval(str_replace(',', '.', str_replace('.', '', $product_data['price'])));
3140
+ //$product_data['regular_price'] = floatval(str_replace(',', '.', str_replace('.', '', $product_data['regular_price'])));
3141
+ $product_data['regular_price'] = preg_replace('/,/', $replaceWith, $product_data['regular_price'], 1);
3142
+ if($product_data['sale_price'] > 0){
3143
+ //$product_data['sale_price'] = floatval(str_replace(',', '.', str_replace('.', '', $product_data['sale_price'])));
3144
+ $product_data['sale_price'] = preg_replace('/,/', $replaceWith, $product_data['sale_price'], 1);
3145
+ }
3146
+ }
3147
  }
3148
  }
3149
 
js/woosea_key.js CHANGED
@@ -26,7 +26,7 @@ jQuery(document).ready(function($) {
26
  var license_key = $('#license-key').val();
27
 
28
  jQuery.ajax({
29
- url: 'https://www.adtribes.io/check/license.php?key=' + license_key + '&email=' + license_email + '&domain=' + root_domain + '&version=11.5.8',
30
  jsonp: 'callback',
31
  dataType: 'jsonp',
32
  type: 'GET',
26
  var license_key = $('#license-key').val();
27
 
28
  jQuery.ajax({
29
+ url: 'https://www.adtribes.io/check/license.php?key=' + license_key + '&email=' + license_email + '&domain=' + root_domain + '&version=11.5.9',
30
  jsonp: 'callback',
31
  dataType: 'jsonp',
32
  type: 'GET',
readme.txt CHANGED
@@ -5,7 +5,7 @@ License URI: http://www.gnu.org/licenses/gpl.html
5
  Tags: Google Shopping Feed, Facebook feed, Facebook catalog feed, WooCommerce Product Feed, Product Feed, Bing Shopping Feed, Bing Product Feed, Google Merchant Feed, Skroutz, Google Product Feed, Pinterest, Idealo, Pixels, Conversion API
6
  Requires at least: 4.5
7
  Tested up to: 5.9
8
- Stable tag: 11.5.8
9
 
10
  == Description ==
11
 
@@ -345,6 +345,9 @@ Questions left or unanswered? Please do not hesitate to contact us at support@ad
345
 
346
  === Changelog ===
347
 
 
 
 
348
  = 11.5.8 (2022-05-31) =
349
  * Fixed issues with regards to missing sanitazion and validation
350
 
@@ -3707,6 +3710,9 @@ Questions left or unanswered? Please do not hesitate to contact us at support@ad
3707
 
3708
  == Upgrade Notice ==
3709
 
 
 
 
3710
  = 11.5.8 =
3711
  Fixed issues with regards to missing sanitazion and validation
3712
 
5
  Tags: Google Shopping Feed, Facebook feed, Facebook catalog feed, WooCommerce Product Feed, Product Feed, Bing Shopping Feed, Bing Product Feed, Google Merchant Feed, Skroutz, Google Product Feed, Pinterest, Idealo, Pixels, Conversion API
6
  Requires at least: 4.5
7
  Tested up to: 5.9
8
+ Stable tag: 11.5.9
9
 
10
  == Description ==
11
 
345
 
346
  === Changelog ===
347
 
348
+ = 11.5.9 (2022-05-31) =
349
+ * Fixed an issue where the thousand separator for discounted prices by Flycart was causing malformed prices
350
+
351
  = 11.5.8 (2022-05-31) =
352
  * Fixed issues with regards to missing sanitazion and validation
353
 
3710
 
3711
  == Upgrade Notice ==
3712
 
3713
+ = 11.5.9 =
3714
+ Fixed an issue where the thousand separator for discounted prices by Flycart was causing malformed prices
3715
+
3716
  = 11.5.8 =
3717
  Fixed issues with regards to missing sanitazion and validation
3718
 
woocommerce-sea.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Plugin Name: Product Feed PRO for WooCommerce
4
- * Version: 11.5.8
5
  * Plugin URI: https://www.adtribes.io/support/?utm_source=wpadmin&utm_medium=plugin&utm_campaign=woosea_product_feed_pro
6
  * Description: Configure and maintain your WooCommerce product feeds for Google Shopping, Catalog managers, Remarketing, Bing, Skroutz, Yandex, Comparison shopping websites and over a 100 channels more.
7
  * Author: AdTribes.io
@@ -48,7 +48,7 @@ if (!defined('ABSPATH')) {
48
  * Plugin versionnumber, please do not override.
49
  * Define some constants
50
  */
51
- define( 'WOOCOMMERCESEA_PLUGIN_VERSION', '11.5.8' );
52
  define( 'WOOCOMMERCESEA_PLUGIN_NAME', 'woocommerce-product-feed-pro' );
53
  define( 'WOOCOMMERCESEA_PLUGIN_NAME_SHORT', 'woo-product-feed-pro' );
54
 
@@ -1266,9 +1266,14 @@ function woosea_product_delete_meta_price( $product = null ) {
1266
  $product_variations = new WC_Product_Variation( $child_val );
1267
  $variations = array_filter($product_variations->get_variation_attributes());
1268
  $from_url = str_replace("\\","",sanitize_text_field($_GET),$i);
1269
- $intersect = array_intersect($from_url, $variations);
1270
- if($variations == $intersect){
1271
- $variation_id = $child_val;
 
 
 
 
 
1272
  }
1273
  }
1274
 
@@ -1603,18 +1608,15 @@ function woosea_product_fix_structured_data( $product = null ) {
1603
  $children_ids = $product->get_children();
1604
  $prod_type = $product->get_type();
1605
 
1606
- if($prod_type == "variable"){
1607
- foreach ($children_ids as &$child_val) {
1608
- $product_variations = new WC_Product_Variation( $child_val );
1609
- $variations = array_filter($product_variations->get_variation_attributes());
1610
- $from_url = str_replace("\\","",sanitize_text_field($_GET),$i);
1611
- $intersect = @array_intersect($from_url, $variations);
1612
- if($variations == $intersect){
1613
- $variation_id = $child_val;
1614
- }
1615
- }
1616
- }
1617
-
1618
 
1619
  if(isset($variation_id )){
1620
  $variable_product = wc_get_product($variation_id);
1
  <?php
2
  /**
3
  * Plugin Name: Product Feed PRO for WooCommerce
4
+ * Version: 11.5.9
5
  * Plugin URI: https://www.adtribes.io/support/?utm_source=wpadmin&utm_medium=plugin&utm_campaign=woosea_product_feed_pro
6
  * Description: Configure and maintain your WooCommerce product feeds for Google Shopping, Catalog managers, Remarketing, Bing, Skroutz, Yandex, Comparison shopping websites and over a 100 channels more.
7
  * Author: AdTribes.io
48
  * Plugin versionnumber, please do not override.
49
  * Define some constants
50
  */
51
+ define( 'WOOCOMMERCESEA_PLUGIN_VERSION', '11.5.9' );
52
  define( 'WOOCOMMERCESEA_PLUGIN_NAME', 'woocommerce-product-feed-pro' );
53
  define( 'WOOCOMMERCESEA_PLUGIN_NAME_SHORT', 'woo-product-feed-pro' );
54
 
1266
  $product_variations = new WC_Product_Variation( $child_val );
1267
  $variations = array_filter($product_variations->get_variation_attributes());
1268
  $from_url = str_replace("\\","",sanitize_text_field($_GET),$i);
1269
+
1270
+ if(is_array($from_url)){
1271
+ $intersect = @array_intersect($from_url, $variations);
1272
+ if($variations == $intersect){
1273
+ $variation_id = $child_val;
1274
+ }
1275
+ } else {
1276
+ $variation_id = $mother_id;
1277
  }
1278
  }
1279
 
1608
  $children_ids = $product->get_children();
1609
  $prod_type = $product->get_type();
1610
 
1611
+ foreach ($children_ids as &$child_val) {
1612
+ $product_variations = new WC_Product_Variation( $child_val );
1613
+ $variations = array_filter($product_variations->get_variation_attributes());
1614
+ $from_url = str_replace("\\","",$_GET,$i);
1615
+ $intersect = array_intersect($from_url, $variations);
1616
+ if($variations == $intersect){
1617
+ $variation_id = $child_val;
1618
+ }
1619
+ }
 
 
 
1620
 
1621
  if(isset($variation_id )){
1622
  $variable_product = wc_get_product($variation_id);