CTX Feed – WooCommerce Product Feed Manager Plugin - Version 3.6.16

Version Description

(2020-08-10) = * Added: Google product_details attribute added to Google Shopping template.

Download this release

Release Info

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

Code changes from version 3.6.15 to 3.6.16

README.txt CHANGED
@@ -5,7 +5,7 @@ Tags:product feed,woocommerce product feed,google shopping feed,google shopping,
5
  Requires at least: 3.6
6
  Tested Up To: 5.4
7
  Requires PHP: 5.6
8
- Stable tag: 3.6.15
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -308,10 +308,12 @@ Using pro version:
308
 
309
  == Changelog ==
310
 
 
 
 
311
  = 3.6.15 (2020-08-03) =
312
  * Added: Google product highlight attribute added to Google Shopping template.
313
 
314
-
315
  = 3.6.14 (2020-07-25) =
316
  * Added: Etsy template added.
317
  * Tweak: Pricerunner stock status will return Yes or No instead of in stock or out of stock.
5
  Requires at least: 3.6
6
  Tested Up To: 5.4
7
  Requires PHP: 5.6
8
+ Stable tag: 3.6.16
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
308
 
309
  == Changelog ==
310
 
311
+ = 3.6.16 (2020-08-10) =
312
+ * Added: Google product_details attribute added to Google Shopping template.
313
+
314
  = 3.6.15 (2020-08-03) =
315
  * Added: Google product highlight attribute added to Google Shopping template.
316
 
 
317
  = 3.6.14 (2020-07-25) =
318
  * Added: Etsy template added.
319
  * Tweak: Pricerunner stock status will return Yes or No instead of in stock or out of stock.
admin/partials/woo-feed-edit-filter.php CHANGED
@@ -5,6 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  ?>
6
  <table class="table tree widefat fixed woo-feed-filters">
7
  <tbody>
 
8
  <tr>
9
  <td colspan="2"><?php _e( 'Campaign URL Builder', 'woo-feed' ); ?></td>
10
  </tr>
@@ -49,6 +50,9 @@ if ( ! defined( 'ABSPATH' ) ) {
49
  </label>
50
  </td>
51
  </tr>
 
 
 
52
  </tbody>
53
  <tfoot>
54
  <tr>
@@ -63,5 +67,31 @@ if ( ! defined( 'ABSPATH' ) ) {
63
  </table>
64
  </td>
65
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  </tbody>
67
  </table>
5
  ?>
6
  <table class="table tree widefat fixed woo-feed-filters">
7
  <tbody>
8
+
9
  <tr>
10
  <td colspan="2"><?php _e( 'Campaign URL Builder', 'woo-feed' ); ?></td>
11
  </tr>
50
  </label>
51
  </td>
52
  </tr>
53
+
54
+
55
+
56
  </tbody>
57
  <tfoot>
58
  <tr>
67
  </table>
68
  </td>
69
  </tr>
70
+ <tr><td colspan="2"> <b style="font-size: large;"><a href="http://bit.ly/2KIwvTt"> &#8594; Premium version</a> of the plugin have lots to filtering option like:</b><br>
71
+ <table class="table widefat fixed" style="border: 0">
72
+ <tr>
73
+ <td>1. Include/Exclude some specific products from feed by Product ID.</td>
74
+ </tr>
75
+ <tr>
76
+ <td>2. Include/Exclude product from feed by any attribute value with condition <b>(Advance Filter)</b></td>
77
+ </tr>
78
+ <tr>
79
+ <td>3. Remove Out Of Stock Products.</td>
80
+ </tr>
81
+ <tr>
82
+ <td>4. Make feed for Specific Product Categories.</td>
83
+ </tr>
84
+ <tr>
85
+ <td>5. Replace any string into feed.</td>
86
+ </tr>
87
+ <tr>
88
+ <td>6. Custom Number format.</td>
89
+ </tr>
90
+ <tr>
91
+ <td><b>Get &#8594;<a style="color: red;" href="http://bit.ly/2KIwvTt"> Woo Feed Pro</a></b></td>
92
+ </tr>
93
+ </table>
94
+ </td>
95
+ </tr>
96
  </tbody>
97
  </table>
includes/classes/class-woo-feed-default-attributes.php CHANGED
@@ -48,16 +48,19 @@ class Woo_Feed_Default_Attributes {
48
  'upc' => array( 'g:gtin', true ),
49
  'identifier_exists' => array( 'g:identifier_exists', true ),
50
  'item_group_id' => array( 'g:item_group_id', false ),
51
- 'product_highlight_1' => array( 'g:product_highlight', true ),
52
- 'product_highlight_2' => array( 'g:product_highlight', true ),
53
- 'product_highlight_3' => array( 'g:product_highlight', true ),
54
- 'product_highlight_4' => array( 'g:product_highlight', true ),
55
- 'product_highlight_5' => array( 'g:product_highlight', true ),
56
- 'product_highlight_6' => array( 'g:product_highlight', true ),
57
- 'product_highlight_7' => array( 'g:product_highlight', true ),
58
- 'product_highlight_8' => array( 'g:product_highlight', true ),
59
- 'product_highlight_9' => array( 'g:product_highlight', true ),
60
- 'product_highlight_10' => array( 'g:product_highlight', true ),
 
 
 
61
  'color' => array( 'g:color', true ),
62
  'gender' => array( 'g:gender', true ),
63
  'age_group' => array( 'g:age_group', true ),
@@ -612,6 +615,9 @@ class Woo_Feed_Default_Attributes {
612
  'product_highlight_8' => 'Product Highlight 8[product_highlight]',
613
  'product_highlight_9' => 'Product Highlight 9[product_highlight]',
614
  'product_highlight_10' => 'Product Highlight 10[product_highlight]',
 
 
 
615
  '---4' => '',
616
  '--5' => 'Tax & Shipping',
617
  'tax' => 'Tax[tax]',
48
  'upc' => array( 'g:gtin', true ),
49
  'identifier_exists' => array( 'g:identifier_exists', true ),
50
  'item_group_id' => array( 'g:item_group_id', false ),
51
+ 'product_highlight_1' => array( 'g:product_highlight', true ),
52
+ 'product_highlight_2' => array( 'g:product_highlight', true ),
53
+ 'product_highlight_3' => array( 'g:product_highlight', true ),
54
+ 'product_highlight_4' => array( 'g:product_highlight', true ),
55
+ 'product_highlight_5' => array( 'g:product_highlight', true ),
56
+ 'product_highlight_6' => array( 'g:product_highlight', true ),
57
+ 'product_highlight_7' => array( 'g:product_highlight', true ),
58
+ 'product_highlight_8' => array( 'g:product_highlight', true ),
59
+ 'product_highlight_9' => array( 'g:product_highlight', true ),
60
+ 'product_highlight_10' => array( 'g:product_highlight', true ),
61
+ // 'section_name' => array( 'g:section_name', true ),
62
+ // 'attribute_name' => array( 'g:attribute_name', true ),
63
+ // 'attribute_value' => array( 'g:attribute_value', true ),
64
  'color' => array( 'g:color', true ),
65
  'gender' => array( 'g:gender', true ),
66
  'age_group' => array( 'g:age_group', true ),
615
  'product_highlight_8' => 'Product Highlight 8[product_highlight]',
616
  'product_highlight_9' => 'Product Highlight 9[product_highlight]',
617
  'product_highlight_10' => 'Product Highlight 10[product_highlight]',
618
+ 'section_name' => 'Section Name (Product Detail)[section_name]',
619
+ 'attribute_name' => 'Attribute Name (Product Detail)[attribute_name]',
620
+ 'attribute_value' => 'Attribute Value (Product Detail)[attribute_value]',
621
  '---4' => '',
622
  '--5' => 'Tax & Shipping',
623
  'tax' => 'Tax[tax]',
includes/classes/class-woo-feed-products-v3.php CHANGED
@@ -109,6 +109,9 @@ class Woo_Feed_Products_v3
109
  'subscription_period',
110
  'subscription_period_length',
111
  'subscription_amount',
 
 
 
112
  );
113
  /**
114
  * XML Wrapper Array
@@ -136,6 +139,9 @@ class Woo_Feed_Products_v3
136
  'subscription_period',
137
  'subscription_period_length',
138
  'subscription_amount',
 
 
 
139
  ),
140
  'facebook' => array(
141
  'shipping_country',
@@ -151,6 +157,9 @@ class Woo_Feed_Products_v3
151
  'subscription_period',
152
  'subscription_period_length',
153
  'subscription_amount',
 
 
 
154
  ),
155
  );
156
 
@@ -661,9 +670,11 @@ class Woo_Feed_Products_v3
661
  $shipping = array();
662
  $tax = array();
663
  $installment = array();
 
664
  $s = 0; // Shipping Index
665
  $t = 0; // Tax Index
666
  $i = 0; // Installment Index
 
667
  $shippingAttr = array(
668
  'shipping_country',
669
  'shipping_service',
@@ -673,6 +684,9 @@ class Woo_Feed_Products_v3
673
  'tax_region',
674
  'tax_rate',
675
  'tax_ship',
 
 
 
676
  );
677
  foreach ($this->products[$this->pi] as $attribute => $value) {
678
  if (in_array($attribute, $shippingAttr)) {
@@ -699,6 +713,7 @@ class Woo_Feed_Products_v3
699
  $shipping[$s] .= $value . ':';
700
  }
701
 
 
702
  unset($this->products[$this->pi][$attribute]);
703
  }
704
  }
@@ -721,6 +736,8 @@ class Woo_Feed_Products_v3
721
  $shipping = '';
722
  $sub = 0;
723
  $subscription = '';
 
 
724
  if ('xml' == $this->config['feedType']) {
725
  foreach ($merchantAttributes as $key => $value) {
726
 
@@ -799,7 +816,35 @@ class Woo_Feed_Products_v3
799
  $subscription .= '<g:period_length>' . $output . '</g:period_length>' . "\n";
800
  }elseif ( 'subscription_amount' == $value ) {
801
  $subscription .= '<g:amount>' . $output . '</g:amount>' . "\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
802
  }
 
 
 
 
 
 
 
 
 
 
 
 
803
  }
804
 
805
  if (1 == $s) {
@@ -815,6 +860,7 @@ class Woo_Feed_Products_v3
815
 
816
  $this->feedBody .= $shipping;
817
  $this->feedBody .= $tax;
 
818
 
819
  if($productObj->is_type('subscription') ||
820
  $productObj->is_type('variable-subscription') ||
109
  'subscription_period',
110
  'subscription_period_length',
111
  'subscription_amount',
112
+ 'section_name',
113
+ 'attribute_name',
114
+ 'attribute_value',
115
  );
116
  /**
117
  * XML Wrapper Array
139
  'subscription_period',
140
  'subscription_period_length',
141
  'subscription_amount',
142
+ 'section_name',
143
+ 'attribute_name',
144
+ 'attribute_value',
145
  ),
146
  'facebook' => array(
147
  'shipping_country',
157
  'subscription_period',
158
  'subscription_period_length',
159
  'subscription_amount',
160
+ 'section_name',
161
+ 'attribute_name',
162
+ 'attribute_value',
163
  ),
164
  );
165
 
670
  $shipping = array();
671
  $tax = array();
672
  $installment = array();
673
+ $product_detail=array();
674
  $s = 0; // Shipping Index
675
  $t = 0; // Tax Index
676
  $i = 0; // Installment Index
677
+ $pd = 0; // Product details Index
678
  $shippingAttr = array(
679
  'shipping_country',
680
  'shipping_service',
684
  'tax_region',
685
  'tax_rate',
686
  'tax_ship',
687
+ 'section_name',
688
+ 'attribute_name',
689
+ 'attribute_value',
690
  );
691
  foreach ($this->products[$this->pi] as $attribute => $value) {
692
  if (in_array($attribute, $shippingAttr)) {
713
  $shipping[$s] .= $value . ':';
714
  }
715
 
716
+
717
  unset($this->products[$this->pi][$attribute]);
718
  }
719
  }
736
  $shipping = '';
737
  $sub = 0;
738
  $subscription = '';
739
+ $product_detail='';
740
+ $pd=0;
741
  if ('xml' == $this->config['feedType']) {
742
  foreach ($merchantAttributes as $key => $value) {
743
 
816
  $subscription .= '<g:period_length>' . $output . '</g:period_length>' . "\n";
817
  }elseif ( 'subscription_amount' == $value ) {
818
  $subscription .= '<g:amount>' . $output . '</g:amount>' . "\n";
819
+ }else if ('section_name' == $value) {
820
+ if (0 == $pd) {
821
+ $product_detail .= '<g:product_detail>';
822
+ $pd = 1;
823
+ } else {
824
+ $product_detail .= '</g:product_detail>' . "\n";
825
+ $product_detail .= '<g:product_detail>';
826
+ }
827
+ } elseif (!in_array('section_name', $merchantAttributes) && 'attribute_name' == $value) {
828
+ if (0 == $pd) {
829
+ $product_detail .= '<g:product_detail>';
830
+ $pd = 1;
831
+ } else {
832
+ $product_detail .= '</g:product_detail>' . "\n";
833
+ $product_detail .= '<g:product_detail>';
834
+ }
835
  }
836
+
837
+ if ( 'section_name' == $value ) {
838
+ $product_detail .= '<g:section_name>' . $output . '</g:section_name>' . "\n";
839
+ }elseif ( 'attribute_name' == $value ) {
840
+ $product_detail .= '<g:attribute_name>' . $output . '</g:attribute_name>' . "\n";
841
+ }elseif ( 'attribute_value' == $value ) {
842
+ $product_detail .= '<g:attribute_value>' . $output . '</g:attribute_value>' . "\n";
843
+ }
844
+ }
845
+
846
+ if (1 == $pd) {
847
+ $product_detail .= '</g:product_detail>';
848
  }
849
 
850
  if (1 == $s) {
860
 
861
  $this->feedBody .= $shipping;
862
  $this->feedBody .= $tax;
863
+ $this->feedBody .= $product_detail;
864
 
865
  if($productObj->is_type('subscription') ||
866
  $productObj->is_type('variable-subscription') ||
woo-feed.php CHANGED
@@ -11,7 +11,7 @@
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
  *
14
- * Version: 3.6.15
15
  * Author: WebAppick
16
  * Author URI: https://webappick.com/
17
  * License: GPL v2
@@ -39,7 +39,7 @@ if ( ! defined( 'WOO_FEED_FREE_VERSION' ) ) {
39
  * @var string
40
  * @since 3.1.6
41
  */
42
- define( 'WOO_FEED_FREE_VERSION', '3.6.15' );
43
  }
44
 
45
  if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
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
  *
14
+ * Version: 3.6.16
15
  * Author: WebAppick
16
  * Author URI: https://webappick.com/
17
  * License: GPL v2
39
  * @var string
40
  * @since 3.1.6
41
  */
42
+ define( 'WOO_FEED_FREE_VERSION', '3.6.16' );
43
  }
44
 
45
  if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {