Product Feed PRO for WooCommerce - Version 7.5.0

Version Description

Added support for dynamic attributes for parent variable products (Skroutz and Google DSA only) Added a new attribute named category path Skroutz which puts in the category path values according to Skroutz's requirements

Download this release

Release Info

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

Code changes from version 7.4.9 to 7.5.0

classes/class-attributes.php CHANGED
@@ -235,6 +235,7 @@ public function get_mapping_attributes_dropdown() {
235
  "category_link" => "Category link",
236
  "category_path" => "Category path",
237
  "category_path_short" => "Category path short",
 
238
  "one_category" => "One category",
239
  "condition" => "Condition",
240
  "availability" => "Availability",
@@ -407,6 +408,7 @@ public function get_mapping_attributes_dropdown() {
407
  "category_link" => "Category link",
408
  "category_path" => "Category path",
409
  "category_path_short" => "Category path short",
 
410
  "one_category" => "One category",
411
  "condition" => "Condition",
412
  "availability" => "Availability",
235
  "category_link" => "Category link",
236
  "category_path" => "Category path",
237
  "category_path_short" => "Category path short",
238
+ "category_path_skroutz" => "Category path Skroutz",
239
  "one_category" => "One category",
240
  "condition" => "Condition",
241
  "availability" => "Availability",
408
  "category_link" => "Category link",
409
  "category_path" => "Category path",
410
  "category_path_short" => "Category path short",
411
+ "category_path_skroutz" => "Category path Skroutz",
412
  "one_category" => "One category",
413
  "condition" => "Condition",
414
  "availability" => "Availability",
classes/class-get-products.php CHANGED
@@ -1988,9 +1988,13 @@ class WooSEA_Get_Products {
1988
  // Check if there are mother categories
1989
  $parent_categories = get_ancestors($product_cat->term_id, 'product_cat');
1990
  $category_path = $this->woosea_get_term_parents( $product_cat->term_id, 'product_cat', $link = false, $project_taxonomy = $project_config['taxonomy'], $nicename = false, $visited = array() );
 
1991
 
1992
  if(!is_object($category_path)){
1993
  $product_data['category_path'] = $category_path;
 
 
 
1994
  }
1995
 
1996
  foreach ($parent_categories as $category_id){
@@ -2007,8 +2011,13 @@ class WooSEA_Get_Products {
2007
  $product_cat = get_term($value, 'product_cat');
2008
 
2009
  $category_path = $this->woosea_get_term_parents( $product_cat->term_id, 'product_cat', $link = false, $project_taxonomy = $project_config['taxonomy'], $nicename = false, $visited = array() );
 
 
2010
  if(!is_object($category_path)){
2011
  $product_data['category_path'] = $category_path;
 
 
 
2012
  }
2013
 
2014
  // Check if there are mother categories
@@ -2203,7 +2212,6 @@ class WooSEA_Get_Products {
2203
  $product_data['sale_price'] = "";
2204
  }
2205
 
2206
-
2207
  // Override price when bundled product
2208
  if(($product->get_type() == "bundle") OR ($product->get_type() == "composite")){
2209
  $meta = get_post_meta($product_data['id']);
@@ -2461,10 +2469,14 @@ class WooSEA_Get_Products {
2461
 
2462
  foreach($diff_taxonomies as $taxo){
2463
  $term_value = get_the_terms($product_data['id'], $taxo);
 
 
2464
  if(is_array($term_value)){
2465
  foreach($term_value as $term){
2466
- $product_data[$taxo] = $term->name;
2467
  }
 
 
2468
  }
2469
  }
2470
 
@@ -2494,6 +2506,7 @@ class WooSEA_Get_Products {
2494
  */
2495
  if (($product->is_type('simple')) OR ($product->is_type('external')) OR ($product->is_type('bundle')) OR ($product->is_type('composite')) OR ($product_data['product_type'] == "variable")){
2496
  $custom_attributes = $this->get_custom_attributes( $product_data['id'] );
 
2497
  if(!in_array("woosea optimized title", $custom_attributes)){
2498
  $woosea_opt = array (
2499
  "_woosea_optimized_title" => "woosea optimized title",
@@ -3506,7 +3519,6 @@ class WooSEA_Get_Products {
3506
  delete_option( $batch_project );
3507
  delete_option('woosea_allow_update');
3508
 
3509
-
3510
  // In 2 minutes from now check the amount of products in the feed and update the history count
3511
  wp_schedule_single_event( time() + 120, 'woosea_update_project_stats', array($val['project_hash']) );
3512
  } else {
1988
  // Check if there are mother categories
1989
  $parent_categories = get_ancestors($product_cat->term_id, 'product_cat');
1990
  $category_path = $this->woosea_get_term_parents( $product_cat->term_id, 'product_cat', $link = false, $project_taxonomy = $project_config['taxonomy'], $nicename = false, $visited = array() );
1991
+ $category_path_skroutz = str_replace(">",">",$category_path);
1992
 
1993
  if(!is_object($category_path)){
1994
  $product_data['category_path'] = $category_path;
1995
+ $product_data['category_path_skroutz'] = $category_path_skroutz;
1996
+ $product_data['category_path_skroutz'] = str_replace("Home >","",$product_data['category_path_skroutz']);
1997
+ $product_data['category_path_skroutz'] = str_replace("&","&",$product_data['category_path_skroutz']);
1998
  }
1999
 
2000
  foreach ($parent_categories as $category_id){
2011
  $product_cat = get_term($value, 'product_cat');
2012
 
2013
  $category_path = $this->woosea_get_term_parents( $product_cat->term_id, 'product_cat', $link = false, $project_taxonomy = $project_config['taxonomy'], $nicename = false, $visited = array() );
2014
+ $category_path_skroutz = str_replace(">",">",$category_path);
2015
+
2016
  if(!is_object($category_path)){
2017
  $product_data['category_path'] = $category_path;
2018
+ $product_data['category_path_skroutz'] = $category_path_skroutz;
2019
+ $product_data['category_path_skroutz'] = str_replace("Home >","",$product_data['category_path_skroutz']);
2020
+ $product_data['category_path_skroutz'] = str_replace("&","&",$product_data['category_path_skroutz']);
2021
  }
2022
 
2023
  // Check if there are mother categories
2212
  $product_data['sale_price'] = "";
2213
  }
2214
 
 
2215
  // Override price when bundled product
2216
  if(($product->get_type() == "bundle") OR ($product->get_type() == "composite")){
2217
  $meta = get_post_meta($product_data['id']);
2469
 
2470
  foreach($diff_taxonomies as $taxo){
2471
  $term_value = get_the_terms($product_data['id'], $taxo);
2472
+ $product_data[$taxo] = "";
2473
+
2474
  if(is_array($term_value)){
2475
  foreach($term_value as $term){
2476
+ $product_data[$taxo] .= ",". $term->name;
2477
  }
2478
+ $product_data[$taxo] = ltrim($product_data[$taxo],',');
2479
+ $product_data[$taxo] = rtrim($product_data[$taxo],',');
2480
  }
2481
  }
2482
 
2506
  */
2507
  if (($product->is_type('simple')) OR ($product->is_type('external')) OR ($product->is_type('bundle')) OR ($product->is_type('composite')) OR ($product_data['product_type'] == "variable")){
2508
  $custom_attributes = $this->get_custom_attributes( $product_data['id'] );
2509
+
2510
  if(!in_array("woosea optimized title", $custom_attributes)){
2511
  $woosea_opt = array (
2512
  "_woosea_optimized_title" => "woosea optimized title",
3519
  delete_option( $batch_project );
3520
  delete_option('woosea_allow_update');
3521
 
 
3522
  // In 2 minutes from now check the amount of products in the feed and update the history count
3523
  wp_schedule_single_event( time() + 120, 'woosea_update_project_stats', array($val['project_hash']) );
3524
  } else {
js/woosea_key.js CHANGED
@@ -27,7 +27,7 @@ jQuery(document).ready(function($) {
27
  var license_key = $('#license-key').val();
28
 
29
  jQuery.ajax({
30
- url: 'https://www.adtribes.io/check/license.php?key=' + license_key + '&email=' + license_email + '&domain=' + root_domain + '&version=7.4.9',
31
  jsonp: 'callback',
32
  dataType: 'jsonp',
33
  type: 'GET',
27
  var license_key = $('#license-key').val();
28
 
29
  jQuery.ajax({
30
+ url: 'https://www.adtribes.io/check/license.php?key=' + license_key + '&email=' + license_email + '&domain=' + root_domain + '&version=7.5.0',
31
  jsonp: 'callback',
32
  dataType: 'jsonp',
33
  type: 'GET',
readme.txt CHANGED
@@ -5,7 +5,7 @@ License URI: http://www.gnu.org/licenses/gpl.html
5
  Tags: Product Feed, Google Shopping, Google Shopping Feed, WooCommerce Product Feed, WooCommerce Product Feed PRO, Bing Shopping, Bing product feed, Bing remarking, Google Merchant Feed, Google DRM Feed, Google Dynamic Remarketing Feed, Facebook feed, Google feed, Bing feed, Facebook Product Feed, Facebook Dynamic remarketing, Data Feed, WooCommerce Feed, XML product feed, CSV product feed, TSV, TXT product feed, comparison shopping engines, comparison shopping websites, vergelijk.nl, vergelijk.be, vertaa.fi, beslist.nl, kieskeurig.nl, bol.com, raketten, pricerunner, pricegrabber, Buy, leGuide, Kelkoo, Twenga, Yandex, Etsy, Dealtime, Shopzilla, Billiger, Google Product Review feed
6
  Requires at least: 4.5
7
  Tested up to: 5.3
8
- Stable tag: 7.4.9
9
 
10
  == Description ==
11
 
@@ -312,6 +312,10 @@ Questions left or unanswered? Please do not hesitate to contact us at support@ad
312
 
313
  === Changelog ===
314
 
 
 
 
 
315
  = 7.4.9 (2020-02-20) =
316
  * Added support for custom attributes for parent variable products (Skroutz and Google DSA only)
317
 
@@ -2379,6 +2383,10 @@ Questions left or unanswered? Please do not hesitate to contact us at support@ad
2379
 
2380
  == Upgrade Notice ==
2381
 
 
 
 
 
2382
  = 7.4.9 =
2383
  Added support for custom attributes for parent variable products (Skroutz and Google DSA only)
2384
 
5
  Tags: Product Feed, Google Shopping, Google Shopping Feed, WooCommerce Product Feed, WooCommerce Product Feed PRO, Bing Shopping, Bing product feed, Bing remarking, Google Merchant Feed, Google DRM Feed, Google Dynamic Remarketing Feed, Facebook feed, Google feed, Bing feed, Facebook Product Feed, Facebook Dynamic remarketing, Data Feed, WooCommerce Feed, XML product feed, CSV product feed, TSV, TXT product feed, comparison shopping engines, comparison shopping websites, vergelijk.nl, vergelijk.be, vertaa.fi, beslist.nl, kieskeurig.nl, bol.com, raketten, pricerunner, pricegrabber, Buy, leGuide, Kelkoo, Twenga, Yandex, Etsy, Dealtime, Shopzilla, Billiger, Google Product Review feed
6
  Requires at least: 4.5
7
  Tested up to: 5.3
8
+ Stable tag: 7.5.0
9
 
10
  == Description ==
11
 
312
 
313
  === Changelog ===
314
 
315
+ = 7.5.0 (2020-02-21) =
316
+ * Added support for dynamic attributes for parent variable products (Skroutz and Google DSA only)
317
+ * Added a new attribute named category path Skroutz which puts in the category path values according to Skroutz's requirements
318
+
319
  = 7.4.9 (2020-02-20) =
320
  * Added support for custom attributes for parent variable products (Skroutz and Google DSA only)
321
 
2383
 
2384
  == Upgrade Notice ==
2385
 
2386
+ = 7.5.0 =
2387
+ Added support for dynamic attributes for parent variable products (Skroutz and Google DSA only)
2388
+ Added a new attribute named category path Skroutz which puts in the category path values according to Skroutz's requirements
2389
+
2390
  = 7.4.9 =
2391
  Added support for custom attributes for parent variable products (Skroutz and Google DSA only)
2392
 
woocommerce-sea.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Plugin Name: Product Feed PRO for WooCommerce
4
- * Version: 7.4.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, Facebook, Remarketing, Bing, 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', '7.4.9' );
52
  define( 'WOOCOMMERCESEA_PLUGIN_NAME', 'woocommerce-product-feed-pro' );
53
  define( 'WOOCOMMERCESEA_PLUGIN_NAME_SHORT', 'woo-product-feed-pro' );
54
 
@@ -3833,7 +3833,7 @@ function woosea_license_valid(){
3833
 
3834
  if(!empty($license_information['license_key'])){
3835
  $curl = curl_init();
3836
- $url = "https://www.adtribes.io/check/license.php?key=$license_information[license_key]&email=$license_information[license_email]&domain=$domain&version=7.4.9";
3837
 
3838
  curl_setopt_array($curl, array(
3839
  CURLOPT_RETURNTRANSFER => 1,
1
  <?php
2
  /**
3
  * Plugin Name: Product Feed PRO for WooCommerce
4
+ * Version: 7.5.0
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, Facebook, Remarketing, Bing, 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', '7.5.0' );
52
  define( 'WOOCOMMERCESEA_PLUGIN_NAME', 'woocommerce-product-feed-pro' );
53
  define( 'WOOCOMMERCESEA_PLUGIN_NAME_SHORT', 'woo-product-feed-pro' );
54
 
3833
 
3834
  if(!empty($license_information['license_key'])){
3835
  $curl = curl_init();
3836
+ $url = "https://www.adtribes.io/check/license.php?key=$license_information[license_key]&email=$license_information[license_email]&domain=$domain&version=7.5.0";
3837
 
3838
  curl_setopt_array($curl, array(
3839
  CURLOPT_RETURNTRANSFER => 1,