CTX Feed – WooCommerce Product Feed Manager Plugin - Version 3.0.10

Version Description

Download this release

Release Info

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

Code changes from version 3.0.9 to 3.0.10

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://webappick.com
4
  Tags:woocommerce,google product feed,facebook product feed,woocommerce product feed,woocommerce,
5
  Requires at least: 3.6
6
  Tested Up To: 5.1
7
- Stable tag: 3.0.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -296,6 +296,10 @@ Using pro version:
296
 
297
  == Changelog ==
298
 
 
 
 
 
299
  = 3.0.9(2019-03-15) =
300
  * Added: Current Price attribute added. Current Price attribute will return sale price if sale price available else it will return regular price.
301
  * WooCommerce v3.5+ compatibility checked
4
  Tags:woocommerce,google product feed,facebook product feed,woocommerce product feed,woocommerce,
5
  Requires at least: 3.6
6
  Tested Up To: 5.1
7
+ Stable tag: 3.0.10
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
296
 
297
  == Changelog ==
298
 
299
+ = 3.0.10(2019-03-18) =
300
+ * Fixed: product tags issue fixed
301
+ * Added: new Google Merchant attributes added
302
+
303
  = 3.0.9(2019-03-15) =
304
  * Added: Current Price attribute added. Current Price attribute will return sale price if sale price available else it will return regular price.
305
  * WooCommerce v3.5+ compatibility checked
includes/class-woo-feed.php CHANGED
@@ -70,7 +70,7 @@ class Woo_Feed
70
  public function __construct()
71
  {
72
  $this->woo_feed = 'woo-feed';
73
- $this->version = '3.0.9';
74
 
75
  $this->load_dependencies();
76
  $this->set_locale();
70
  public function __construct()
71
  {
72
  $this->woo_feed = 'woo-feed';
73
+ $this->version = '3.0.10';
74
 
75
  $this->load_dependencies();
76
  $this->set_locale();
includes/classes/class-woo-feed-default-attributes.php CHANGED
@@ -3676,10 +3676,12 @@ class Woo_Feed_Default_Attributes
3676
 
3677
  "--2" => "Availability & Price",
3678
  "availability" => "Stock Status[availability]",
 
 
 
3679
  "inventory" => "Facebook Inventory[inventory]",
3680
  "price" => "Regular Price[price]",
3681
  "sale_price" => "Sale Price[sale_price]",
3682
- "cost_of_goods_sold" => "Cost of Goods Sold[cost_of_goods_sold]",
3683
  "sale_price_effective_date" => "Sale Price Effective Date[sale_price_effective_date]",
3684
  "---2" => "",
3685
 
@@ -3704,6 +3706,7 @@ class Woo_Feed_Default_Attributes
3704
 
3705
  "--5" => "Tax & Shipping",
3706
  "tax" => "Tax[tax]",
 
3707
  "shipping_country" => "Shipping Country",
3708
  "shipping_region" => "Shipping Region",
3709
  "shipping_service" => "Shipping Service",
@@ -3738,6 +3741,7 @@ class Woo_Feed_Default_Attributes
3738
 
3739
  "--10" => "Additional Attributes",
3740
  "excluded_destination" => "Excluded Destination[excluded_destination]",
 
3741
  "expiration_date" => "Expiration Date [expiration_date]",
3742
  "---10" => "",
3743
 
3676
 
3677
  "--2" => "Availability & Price",
3678
  "availability" => "Stock Status[availability]",
3679
+ "availability_date" => "Availability Date[availability_date]",
3680
+ "cost_of_goods_sold" => "Cost of Goods Sold[cost_of_goods_sold]",
3681
+ "expiration_date" => "Expiration Date[expiration_date]",
3682
  "inventory" => "Facebook Inventory[inventory]",
3683
  "price" => "Regular Price[price]",
3684
  "sale_price" => "Sale Price[sale_price]",
 
3685
  "sale_price_effective_date" => "Sale Price Effective Date[sale_price_effective_date]",
3686
  "---2" => "",
3687
 
3706
 
3707
  "--5" => "Tax & Shipping",
3708
  "tax" => "Tax[tax]",
3709
+ "tax_category" => "Tax[tax_category]",
3710
  "shipping_country" => "Shipping Country",
3711
  "shipping_region" => "Shipping Region",
3712
  "shipping_service" => "Shipping Service",
3741
 
3742
  "--10" => "Additional Attributes",
3743
  "excluded_destination" => "Excluded Destination[excluded_destination]",
3744
+ "included_destination" => "Included Destination[included_destination]",
3745
  "expiration_date" => "Expiration Date [expiration_date]",
3746
  "---10" => "",
3747
 
includes/classes/class-woo-feed-products.php CHANGED
@@ -209,7 +209,7 @@ class Woo_Feed_Products
209
  $this->productsList[ $this->pi ]['visibility'] = $simple->get_catalog_visibility();
210
  $this->productsList[ $this->pi ]['rating_total'] = $simple->get_rating_count();
211
  $this->productsList[ $this->pi ]['rating_average'] = $simple->get_average_rating();
212
- $this->productsList[ $this->pi ]['tags'] = strip_tags( wc_get_product_tag_list( $id, "," ) );
213
  $this->productsList[ $this->pi ]['item_group_id'] = $simple->get_id();
214
  $this->productsList[ $this->pi ]['sku'] = $simple->get_sku();
215
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
@@ -298,7 +298,7 @@ class Woo_Feed_Products
298
  $this->productsList[ $this->pi ]['visibility'] = $external->get_catalog_visibility();
299
  $this->productsList[ $this->pi ]['rating_total'] = $external->get_rating_count();
300
  $this->productsList[ $this->pi ]['rating_average'] = $external->get_average_rating();
301
- $this->productsList[ $this->pi ]['tags'] = strip_tags( wc_get_product_tag_list( $id, "," ) );
302
  $this->productsList[ $this->pi ]['item_group_id'] = $external->get_id();
303
  $this->productsList[ $this->pi ]['sku'] = $external->get_sku();
304
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
@@ -388,7 +388,7 @@ class Woo_Feed_Products
388
  $this->productsList[ $this->pi ]['visibility'] = $grouped->get_catalog_visibility();
389
  $this->productsList[ $this->pi ]['rating_total'] = $grouped->get_rating_count();
390
  $this->productsList[ $this->pi ]['rating_average'] = $grouped->get_average_rating();
391
- $this->productsList[ $this->pi ]['tags'] = strip_tags( wc_get_product_tag_list( $id, "," ) );
392
  $this->productsList[ $this->pi ]['item_group_id'] = $grouped->get_id();
393
  $this->productsList[ $this->pi ]['sku'] = $grouped->get_sku();
394
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
@@ -478,7 +478,7 @@ class Woo_Feed_Products
478
  $this->productsList[ $this->pi ]['visibility'] = $variable->get_catalog_visibility();
479
  $this->productsList[ $this->pi ]['rating_total'] = $variable->get_rating_count();
480
  $this->productsList[ $this->pi ]['rating_average'] = $variable->get_average_rating();
481
- $this->productsList[ $this->pi ]['tags'] = strip_tags( wc_get_product_tag_list( $id, "," ) );
482
  $this->productsList[ $this->pi ]['item_group_id'] = $variable->get_id();
483
  $this->productsList[ $this->pi ]['sku'] = $variable->get_sku();
484
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
@@ -525,7 +525,8 @@ class Woo_Feed_Products
525
  $variation=new WC_Product_Variation($id);
526
 
527
  # Parent Info
528
- $parent=new WC_Product_Variable($variation->get_parent_id());
 
529
 
530
  # Skip if not a valid product
531
  if(!$variation->variation_is_visible()){
@@ -604,7 +605,7 @@ class Woo_Feed_Products
604
  $this->productsList[ $this->pi ]['visibility'] = $variation->get_catalog_visibility();
605
  $this->productsList[ $this->pi ]['rating_total'] = $variation->get_rating_count();
606
  $this->productsList[ $this->pi ]['rating_average'] = $variation->get_average_rating();
607
- $this->productsList[ $this->pi ]['tags'] = strip_tags(wc_get_product_tag_list($id,","));
608
  $this->productsList[ $this->pi ]['item_group_id'] = $variation->get_parent_id();
609
  $this->productsList[ $this->pi ]['sku'] = $variation->get_sku();
610
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
@@ -2102,4 +2103,23 @@ class Woo_Feed_Products
2102
  {
2103
  return date("Y-m-d",strtotime($date));
2104
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2105
  }
209
  $this->productsList[ $this->pi ]['visibility'] = $simple->get_catalog_visibility();
210
  $this->productsList[ $this->pi ]['rating_total'] = $simple->get_rating_count();
211
  $this->productsList[ $this->pi ]['rating_average'] = $simple->get_average_rating();
212
+ $this->productsList[ $this->pi ]['tags'] = $this->getProductTaxonomy($id,"product_tag");
213
  $this->productsList[ $this->pi ]['item_group_id'] = $simple->get_id();
214
  $this->productsList[ $this->pi ]['sku'] = $simple->get_sku();
215
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
298
  $this->productsList[ $this->pi ]['visibility'] = $external->get_catalog_visibility();
299
  $this->productsList[ $this->pi ]['rating_total'] = $external->get_rating_count();
300
  $this->productsList[ $this->pi ]['rating_average'] = $external->get_average_rating();
301
+ $this->productsList[ $this->pi ]['tags'] = $this->getProductTaxonomy($id,"product_tag");
302
  $this->productsList[ $this->pi ]['item_group_id'] = $external->get_id();
303
  $this->productsList[ $this->pi ]['sku'] = $external->get_sku();
304
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
388
  $this->productsList[ $this->pi ]['visibility'] = $grouped->get_catalog_visibility();
389
  $this->productsList[ $this->pi ]['rating_total'] = $grouped->get_rating_count();
390
  $this->productsList[ $this->pi ]['rating_average'] = $grouped->get_average_rating();
391
+ $this->productsList[ $this->pi ]['tags'] = $this->getProductTaxonomy($id,"product_tag");
392
  $this->productsList[ $this->pi ]['item_group_id'] = $grouped->get_id();
393
  $this->productsList[ $this->pi ]['sku'] = $grouped->get_sku();
394
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
478
  $this->productsList[ $this->pi ]['visibility'] = $variable->get_catalog_visibility();
479
  $this->productsList[ $this->pi ]['rating_total'] = $variable->get_rating_count();
480
  $this->productsList[ $this->pi ]['rating_average'] = $variable->get_average_rating();
481
+ $this->productsList[ $this->pi ]['tags'] = $this->getProductTaxonomy($id,"product_tag");
482
  $this->productsList[ $this->pi ]['item_group_id'] = $variable->get_id();
483
  $this->productsList[ $this->pi ]['sku'] = $variable->get_sku();
484
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
525
  $variation=new WC_Product_Variation($id);
526
 
527
  # Parent Info
528
+ $parentId=$variation->get_parent_id();
529
+ $parent=new WC_Product_Variable($parentId);
530
 
531
  # Skip if not a valid product
532
  if(!$variation->variation_is_visible()){
605
  $this->productsList[ $this->pi ]['visibility'] = $variation->get_catalog_visibility();
606
  $this->productsList[ $this->pi ]['rating_total'] = $variation->get_rating_count();
607
  $this->productsList[ $this->pi ]['rating_average'] = $variation->get_average_rating();
608
+ $this->productsList[ $this->pi ]['tags'] = $this->getProductTaxonomy($parentId,"product_tag");
609
  $this->productsList[ $this->pi ]['item_group_id'] = $variation->get_parent_id();
610
  $this->productsList[ $this->pi ]['sku'] = $variation->get_sku();
611
  $this->productsList[ $this->pi ]['availability'] = $this->availability( $id );
2103
  {
2104
  return date("Y-m-d",strtotime($date));
2105
  }
2106
+
2107
+ /**
2108
+ * Get Taxonomy
2109
+ *
2110
+ * @param $id
2111
+ * @param $taxonomy
2112
+ *
2113
+ * @return string
2114
+ */
2115
+ public function getProductTaxonomy( $id, $taxonomy ) {
2116
+ $taxonomy=str_replace("wf_taxo_", "",$taxonomy);
2117
+ $Taxo=get_the_term_list($id,$taxonomy,"",",","");
2118
+
2119
+ if(!empty($Taxo)){
2120
+ return strip_tags($Taxo);
2121
+ }
2122
+
2123
+ return "";
2124
+ }
2125
  }
includes/feeds/class-woo-feed-google.php CHANGED
@@ -183,6 +183,8 @@ class Woo_Feed_Google
183
  "images_10" => array("g:additional_image_link_10", true),
184
  "condition" => array("g:condition", false),
185
  "availability" => array("g:availability", false),
 
 
186
  "price" => array("g:price", true),
187
  "sale_price" => array("g:sale_price", true),
188
  "sale_price_effective_date" => array("g:sale_price_effective_date", true),
@@ -200,6 +202,7 @@ class Woo_Feed_Google
200
  "size_type" => array("g:size_type", true),
201
  "size_system" => array("g:size_system", true),
202
  "tax" => array("tax", true),
 
203
  "weight" => array("g:shipping_weight", false),
204
  "length" => array("g:shipping_length", false),
205
  "width" => array("g:shipping_width", false),
@@ -219,6 +222,7 @@ class Woo_Feed_Google
219
  "custom_label_3" => array("g:custom_label_3", true),
220
  "custom_label_4" => array("g:custom_label_4", true),
221
  "excluded_destination" => array("g:excluded_destination", true),
 
222
  "expiration_date" => array("g:expiration_date", true),
223
  "unit_pricing_measure" => array("g:unit_pricing_measure", true),
224
  "unit_pricing_base_measure" => array("g:unit_pricing_base_measure", true),
@@ -268,6 +272,8 @@ class Woo_Feed_Google
268
  "images_10" => array("additional image link 10", true),
269
  "condition" => array("condition", false),
270
  "availability" => array("availability", false),
 
 
271
  "price" => array("price", true),
272
  "sale_price" => array("sale price", true),
273
  "sale_price_effective_date" => array("sale price effective date", true),
@@ -285,6 +291,7 @@ class Woo_Feed_Google
285
  "size_type" => array("size type", true),
286
  "size_system" => array("size system", true),
287
  "tax" => array("tax", true),
 
288
  "weight" => array("shipping weight", false),
289
  "length" => array("shipping length", false),
290
  "width" => array("shipping width", false),
@@ -304,6 +311,7 @@ class Woo_Feed_Google
304
  "custom_label_3" => array("custom label 3", true),
305
  "custom_label_4" => array("custom label 4", true),
306
  "excluded_destination" => array("excluded destination", true),
 
307
  "expiration_date" => array("expiration date", true),
308
  "unit_pricing_measure" => array("unit pricing measure", true),
309
  "unit_pricing_base_measure" => array("unit pricing base measure", true),
183
  "images_10" => array("g:additional_image_link_10", true),
184
  "condition" => array("g:condition", false),
185
  "availability" => array("g:availability", false),
186
+ "availability_date" => array("g:availability_date", false),
187
+ "inventory" => array("g:inventory", false),
188
  "price" => array("g:price", true),
189
  "sale_price" => array("g:sale_price", true),
190
  "sale_price_effective_date" => array("g:sale_price_effective_date", true),
202
  "size_type" => array("g:size_type", true),
203
  "size_system" => array("g:size_system", true),
204
  "tax" => array("tax", true),
205
+ "tax_category" => array("g:tax_category", true),
206
  "weight" => array("g:shipping_weight", false),
207
  "length" => array("g:shipping_length", false),
208
  "width" => array("g:shipping_width", false),
222
  "custom_label_3" => array("g:custom_label_3", true),
223
  "custom_label_4" => array("g:custom_label_4", true),
224
  "excluded_destination" => array("g:excluded_destination", true),
225
+ "included_destination" => array("g:included_destination", true),
226
  "expiration_date" => array("g:expiration_date", true),
227
  "unit_pricing_measure" => array("g:unit_pricing_measure", true),
228
  "unit_pricing_base_measure" => array("g:unit_pricing_base_measure", true),
272
  "images_10" => array("additional image link 10", true),
273
  "condition" => array("condition", false),
274
  "availability" => array("availability", false),
275
+ "availability_date" => array("availability date", false),
276
+ "inventory" => array("inventory", false),
277
  "price" => array("price", true),
278
  "sale_price" => array("sale price", true),
279
  "sale_price_effective_date" => array("sale price effective date", true),
291
  "size_type" => array("size type", true),
292
  "size_system" => array("size system", true),
293
  "tax" => array("tax", true),
294
+ "tax_category" => array("tax category", true),
295
  "weight" => array("shipping weight", false),
296
  "length" => array("shipping length", false),
297
  "width" => array("shipping width", false),
311
  "custom_label_3" => array("custom label 3", true),
312
  "custom_label_4" => array("custom label 4", true),
313
  "excluded_destination" => array("excluded destination", true),
314
+ "included_destination" => array("included destination", true),
315
  "expiration_date" => array("expiration date", true),
316
  "unit_pricing_measure" => array("unit pricing measure", true),
317
  "unit_pricing_base_measure" => array("unit pricing base measure", true),
woo-feed.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: WooCommerce Product Feed
17
  * Plugin URI: https://webappick.com/
18
  * Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
19
- * Version: 3.0.9
20
  * Author: WebAppick
21
  * Author URI: https://webappick.com/
22
  * License: GPL v2
16
  * Plugin Name: WooCommerce Product Feed
17
  * Plugin URI: https://webappick.com/
18
  * Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
19
+ * Version: 3.0.10
20
  * Author: WebAppick
21
  * Author URI: https://webappick.com/
22
  * License: GPL v2