Version Description
(2022-02-24) = * Updated: Pinterest catalog feed attributes updated.
Download this release
Release Info
Developer | wahid0003 |
Plugin | CTX Feed – WooCommerce Product Feed Manager Plugin |
Version | 4.4.51 |
Comparing to | |
See all releases |
Code changes from version 4.4.48 to 4.4.51
- README.txt +11 -1
- admin/partials/woo-feed-edit-config.php +1 -1
- includes/classes/class-woo-feed-admin-message.php +1 -1
- includes/classes/class-woo-feed-constants.php +1 -1
- includes/classes/class-woo-feed-default-attributes.php +149 -122
- includes/classes/class-woo-feed-products-v3.php +1 -1
- includes/feeds/class-woo-feed-review.php +21 -8
- includes/helper.php +12 -0
- languages/woo-feed.pot +8 -8
- woo-feed.php +1 -1
README.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: Product Feed, WooCommerce, Google Shopping, Google Merchant, Facebook Cata
|
|
5 |
Requires at least: 4.4
|
6 |
Tested Up To: 5.8.2
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 4.4.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -516,6 +516,16 @@ Using pro version:
|
|
516 |
|
517 |
== Changelog ==
|
518 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
= 4.4.48 (2022-01-31) =
|
520 |
* Updated: Idealo template attributes and link updated.
|
521 |
|
5 |
Requires at least: 4.4
|
6 |
Tested Up To: 5.8.2
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 4.4.51
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
516 |
|
517 |
== Changelog ==
|
518 |
|
519 |
+
= 4.4.51 (2022-02-24) =
|
520 |
+
* Updated: Pinterest catalog feed attributes updated.
|
521 |
+
|
522 |
+
= 4.4.50 (2022-02-16) =
|
523 |
+
* Fixed: Review feed not generating when the special character in review title or description - issue has been fixed.
|
524 |
+
|
525 |
+
= 4.4.49 (2022-02-08) =
|
526 |
+
* Fixed: Review reply comes as a review for Google Review Template - issue has been fixed.
|
527 |
+
* Updated: Learn more button's link in feed configuration setting has been updated.
|
528 |
+
|
529 |
= 4.4.48 (2022-01-31) =
|
530 |
* Updated: Idealo template attributes and link updated.
|
531 |
|
admin/partials/woo-feed-edit-config.php
CHANGED
@@ -75,7 +75,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
75 |
?>
|
76 |
</select>
|
77 |
</span>
|
78 |
-
<span style="font-size:x-small;"><a style="color: red" href="
|
79 |
<?php } else { ?>
|
80 |
<input <?php echo ( 'pattern' == $attr_type[$k] ) ? '' : 'style=" display: none;"'; ?>autocomplete="off" class="wf_default wf_attributes " type="text" name="default[<?php echo esc_attr( $k ); ?>]" value="<?php echo isset($default[ $k ]) ? esc_attr( $default[ $k ] ) : ""; ?>"/>
|
81 |
<?php } ?>
|
75 |
?>
|
76 |
</select>
|
77 |
</span>
|
78 |
+
<span style="font-size:x-small;"><a style="color: red" href="https://webappick.com/docs/ctx-feed/configuration/how-to-map-store-category-with-merchant-category/" target="_blank">Learn More..</a></span>
|
79 |
<?php } else { ?>
|
80 |
<input <?php echo ( 'pattern' == $attr_type[$k] ) ? '' : 'style=" display: none;"'; ?>autocomplete="off" class="wf_default wf_attributes " type="text" name="default[<?php echo esc_attr( $k ); ?>]" value="<?php echo isset($default[ $k ]) ? esc_attr( $default[ $k ] ) : ""; ?>"/>
|
81 |
<?php } ?>
|
includes/classes/class-woo-feed-admin-message.php
CHANGED
@@ -262,7 +262,7 @@ final class Woo_Feed_Message {
|
|
262 |
$notice = '<b style="color: #008779;">' . $notice . '</b>';
|
263 |
if ( isset( $_GET['cat'] ) && 'no' == $_GET['cat'] ) {
|
264 |
$notice .= sprintf( '<br/><br/><b style="color: #f49242;">%s</b>', esc_html__( 'Warning:', 'woo-feed' ) );
|
265 |
-
$link = 'https://webappick.
|
266 |
/** @noinspection HtmlUnknownTarget */
|
267 |
$link = sprintf( '<a href="%s" target="_blank">%s</a>', esc_url( $link ), esc_html__( 'Learn more...', 'woo-feed' ) );
|
268 |
$notice .= sprintf( '<ul><li>%s %s</li></ul>', esc_html__( 'Google Product category is not selected. Your Google Ads CPC rate will be high. Add proper Google Product Category to each product & reduce CPC rate.', 'woo-feed' ), $link );
|
262 |
$notice = '<b style="color: #008779;">' . $notice . '</b>';
|
263 |
if ( isset( $_GET['cat'] ) && 'no' == $_GET['cat'] ) {
|
264 |
$notice .= sprintf( '<br/><br/><b style="color: #f49242;">%s</b>', esc_html__( 'Warning:', 'woo-feed' ) );
|
265 |
+
$link = 'https://webappick.com/docs/ctx-feed/configuration/how-to-map-store-category-with-merchant-category/';
|
266 |
/** @noinspection HtmlUnknownTarget */
|
267 |
$link = sprintf( '<a href="%s" target="_blank">%s</a>', esc_url( $link ), esc_html__( 'Learn more...', 'woo-feed' ) );
|
268 |
$notice .= sprintf( '<ul><li>%s %s</li></ul>', esc_html__( 'Google Product category is not selected. Your Google Ads CPC rate will be high. Add proper Google Product Category to each product & reduce CPC rate.', 'woo-feed' ), $link );
|
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.
|
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.51' );
|
26 |
}
|
27 |
|
28 |
if ( ! defined( 'WOO_FEED_FREE_PATH' ) ) {
|
includes/classes/class-woo-feed-default-attributes.php
CHANGED
@@ -15,6 +15,127 @@
|
|
15 |
*/
|
16 |
class Woo_Feed_Default_Attributes {
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
public $googleXMLAttribute
|
19 |
= array(
|
20 |
'id' => array( 'g:id', false ),
|
@@ -79,6 +200,11 @@ class Woo_Feed_Default_Attributes {
|
|
79 |
'tax_rate' => array( 'g:tax_rate', true ),
|
80 |
'tax_ship' => array( 'g:tax_ship', true ),
|
81 |
'tax_category' => array( 'g:tax_category', true ),
|
|
|
|
|
|
|
|
|
|
|
82 |
'shipping' => array( 'g:shipping', true ),
|
83 |
'weight' => array( 'g:shipping_weight', false ),
|
84 |
'length' => array( 'g:shipping_length', false ),
|
@@ -145,122 +271,6 @@ class Woo_Feed_Default_Attributes {
|
|
145 |
false,
|
146 |
),
|
147 |
);
|
148 |
-
public $googleCSVTXTAttribute
|
149 |
-
= array(
|
150 |
-
'id' => array( 'id', false ),
|
151 |
-
'webitemid' => array( 'webitemid', false ),
|
152 |
-
'region_id' => array( 'region_id', false ),
|
153 |
-
'title' => array( 'title', true ),
|
154 |
-
'description' => array( 'description', true ),
|
155 |
-
'link' => array( 'link', true ),
|
156 |
-
'canonical_link' => array( 'canonical link', true ),
|
157 |
-
'mobile_link' => array( 'mobile_link', true ),
|
158 |
-
'product_type' => array( 'product type', true ),
|
159 |
-
'current_category' => array( 'google product category', true ),
|
160 |
-
'image' => array( 'image link', true ),
|
161 |
-
'images' => array( 'additional image link', true ),
|
162 |
-
'images_1' => array( 'additional image link 1', true ),
|
163 |
-
'images_2' => array( 'additional image link 2', true ),
|
164 |
-
'images_3' => array( 'additional image link 3', true ),
|
165 |
-
'images_4' => array( 'additional image link 4', true ),
|
166 |
-
'images_5' => array( 'additional image link 5', true ),
|
167 |
-
'images_6' => array( 'additional image link 6', true ),
|
168 |
-
'images_7' => array( 'additional image link 7', true ),
|
169 |
-
'images_8' => array( 'additional image link 8', true ),
|
170 |
-
'images_9' => array( 'additional image link 9', true ),
|
171 |
-
'images_10' => array( 'additional image link 10', true ),
|
172 |
-
'condition' => array( 'condition', false ),
|
173 |
-
'availability' => array( 'availability', false ),
|
174 |
-
'availability_date' => array( 'availability date', false ),
|
175 |
-
'inventory' => array( 'inventory', false ),
|
176 |
-
'price' => array( 'price', true ),
|
177 |
-
'sale_price' => array( 'sale price', true ),
|
178 |
-
'sale_price_effective_date' => array( 'sale price effective date', true ),
|
179 |
-
'brand' => array( 'brand', true ),
|
180 |
-
'sku' => array( 'mpn', true ),
|
181 |
-
'upc' => array( 'gtin', true ),
|
182 |
-
'identifier_exists' => array( 'identifier exists', true ),
|
183 |
-
'item_group_id' => array( 'item group id', false ),
|
184 |
-
'product_length' => array( 'product length', true ),
|
185 |
-
'product_width' => array( 'product width', true ),
|
186 |
-
'product_height' => array( 'product height', true ),
|
187 |
-
'product_weight' => array( 'product weight', true ),
|
188 |
-
'product_highlight_1' => array( 'product highlight 1', true ),
|
189 |
-
'product_highlight_2' => array( 'product highlight 2', true ),
|
190 |
-
'product_highlight_3' => array( 'product highlight 3', true ),
|
191 |
-
'product_highlight_4' => array( 'product highlight 4', true ),
|
192 |
-
'product_highlight_5' => array( 'product highlight 5', true ),
|
193 |
-
'product_highlight_6' => array( 'product highlight 6', true ),
|
194 |
-
'product_highlight_7' => array( 'product highlight 7', true ),
|
195 |
-
'product_highlight_8' => array( 'product highlight 8', true ),
|
196 |
-
'product_highlight_9' => array( 'product highlight 9', true ),
|
197 |
-
'product_highlight_10' => array( 'product highlight 10', true ),
|
198 |
-
'color' => array( 'color', true ),
|
199 |
-
'gender' => array( 'gender', true ),
|
200 |
-
'age_group' => array( 'age group', true ),
|
201 |
-
'material' => array( 'material', true ),
|
202 |
-
'pattern' => array( 'pattern', true ),
|
203 |
-
'size' => array( 'size', true ),
|
204 |
-
'size_type' => array( 'size type', true ),
|
205 |
-
'size_system' => array( 'size system', true ),
|
206 |
-
'tax' => array( 'tax', true ),
|
207 |
-
'tax_category' => array( 'tax category', true ),
|
208 |
-
'shipping' => array( 'shipping', true ),
|
209 |
-
'weight' => array( 'shipping weight', false ),
|
210 |
-
'length' => array( 'shipping length', false ),
|
211 |
-
'width' => array( 'shipping width', false ),
|
212 |
-
'height' => array( 'shipping height', false ),
|
213 |
-
'ships_from_country' => array( 'ships from country', false ),
|
214 |
-
'shipping_label' => array( 'shipping label', false ),
|
215 |
-
'shipping_country' => array( 'shipping country', false ),
|
216 |
-
'shipping_service' => array( 'shipping service', false ),
|
217 |
-
'shipping_price' => array( 'shipping price', false ),
|
218 |
-
'shipping_region' => array( 'shipping region', false ),
|
219 |
-
'multipack' => array( 'multipack', true ),
|
220 |
-
'is_bundle' => array( 'is bundle', true ),
|
221 |
-
'adult' => array( 'adult', true ),
|
222 |
-
'ads_redirect' => array( 'ads redirect', true ),
|
223 |
-
'custom_label_0' => array( 'custom label 0', true ),
|
224 |
-
'custom_label_1' => array( 'custom label 1', true ),
|
225 |
-
'custom_label_2' => array( 'custom label 2', true ),
|
226 |
-
'custom_label_3' => array( 'custom label 3', true ),
|
227 |
-
'custom_label_4' => array( 'custom label 4', true ),
|
228 |
-
'excluded_destination' => array( 'excluded destination', true ),
|
229 |
-
'shopping_ads_excluded_country' => array( 'shopping ads excluded country', true ),
|
230 |
-
'included_destination' => array( 'included destination', true ),
|
231 |
-
'expiration_date' => array( 'expiration date', true ),
|
232 |
-
'unit_pricing_measure' => array( 'unit pricing measure', true ),
|
233 |
-
'unit_pricing_base_measure' => array( 'unit pricing base measure', true ),
|
234 |
-
'installment_months' => array( 'months', true ),
|
235 |
-
'installment_amount' => array( 'amount', true ),
|
236 |
-
'subscription_period' => array( 'period', true ),
|
237 |
-
'subscription_period_length' => array( 'period_length', true ),
|
238 |
-
'subscription_amount' => array( 'amount', true ),
|
239 |
-
'energy_efficiency_class' => array( 'energy efficiency class', true ),
|
240 |
-
'min_energy_efficiency_class' => array( 'min energy efficiency class', true ),
|
241 |
-
'max_energy_efficiency_class' => array( 'max energy efficiency class', true ),
|
242 |
-
'loyalty_points' => array( 'loyalty points', true ),
|
243 |
-
'installment' => array( 'installment', true ),
|
244 |
-
'promotion_id' => array( 'promotion id', true ),
|
245 |
-
'cost_of_goods_sold' => array( 'cost of goods sold', true ),
|
246 |
-
'sell_on_google_quantity' => array( 'sell on google quantity', false ),
|
247 |
-
'min_handling_time' => array( 'min handling time', false ),
|
248 |
-
'max_handling_time' => array( 'max handling time', false ),
|
249 |
-
'transit_time_label' => array( 'transit time label', false ),
|
250 |
-
'return_address_label' => array( 'return address label', false ),
|
251 |
-
'return_policy_label' => array( 'return policy label', false ),
|
252 |
-
'store_code' => array( 'store code', false ),
|
253 |
-
'pickup_method' => array( 'pickup method', true ),
|
254 |
-
'pickup_sla' => array( 'pickup sla', true ),
|
255 |
-
'pickup_link_template' => array( 'pickup link template', true ),
|
256 |
-
'link_template' => array( 'link template', true ),
|
257 |
-
'mobile_link_template' => array( 'mobile link template', true ),
|
258 |
-
'mobile_pickup_link_template' => array( 'mobile pickup link template', true ),
|
259 |
-
'google_funded_promotion_eligibility' => array(
|
260 |
-
'google funded promotion eligibility',
|
261 |
-
false,
|
262 |
-
),
|
263 |
-
);
|
264 |
public $facebookXMLAttribute
|
265 |
= array(
|
266 |
'id' => array( 'g:id', false ),
|
@@ -458,6 +468,11 @@ class Woo_Feed_Default_Attributes {
|
|
458 |
'tax_rate' => array( 'g:tax_rate', true ),
|
459 |
'tax_ship' => array( 'g:tax_ship', true ),
|
460 |
'tax_category' => array( 'g:tax_category', true ),
|
|
|
|
|
|
|
|
|
|
|
461 |
'weight' => array( 'g:shipping_weight', false ),
|
462 |
'length' => array( 'g:shipping_length', false ),
|
463 |
'width' => array( 'g:shipping_width', false ),
|
@@ -535,6 +550,11 @@ class Woo_Feed_Default_Attributes {
|
|
535 |
'tax_rate' => array( 'tax_rate', true ),
|
536 |
'tax_ship' => array( 'tax_ship', true ),
|
537 |
'tax_category' => array( 'tax_category', true ),
|
|
|
|
|
|
|
|
|
|
|
538 |
'weight' => array( 'shipping_weight', false ),
|
539 |
'length' => array( 'shipping_length', false ),
|
540 |
'width' => array( 'shipping_width', false ),
|
@@ -743,7 +763,14 @@ class Woo_Feed_Default_Attributes {
|
|
743 |
'--14' => 'Multiple Installments (Brazil Only)',
|
744 |
'installment' => 'Installment[installment]',
|
745 |
'---14' => '',
|
746 |
-
'--15' => '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
747 |
'promotion_id' => 'Promotion Id[promotion_id]',
|
748 |
'product_applicability' => 'Product Applicability[product_applicability]',
|
749 |
'offer_type' => 'Offer Type[offer_type]',
|
@@ -758,14 +785,14 @@ class Woo_Feed_Default_Attributes {
|
|
758 |
'free_gift_value' => 'Free Gift Value[free_gift_value]',
|
759 |
'free_gift_description' => 'Free Gift Description[free_gift_description]',
|
760 |
'free_gift_item_id' => 'Free Gift Item ID[free_gift_item_id]',
|
761 |
-
'---
|
762 |
-
'--
|
763 |
'sell_on_google_quantity' => 'Number of Product Sold On Google [sell_on_google_quantity]',
|
764 |
'return_address_label' => 'Return Address [return_address_label]',
|
765 |
'return_policy_label' => 'Return Policy [return_policy_label]',
|
766 |
'google_funded_promotion_eligibility' => 'Google Funded Promotion Eligibility [google_funded_promotion_eligibility]',
|
767 |
-
'---
|
768 |
-
'--
|
769 |
'store_code' => 'Store Code [store_code]',
|
770 |
'quantity' => 'Quantity [quantity]',
|
771 |
'pickup_method' => 'Pickup Method [pickup_method]',
|
@@ -774,7 +801,7 @@ class Woo_Feed_Default_Attributes {
|
|
774 |
'link_template' => 'Link Template [link_template]',
|
775 |
'mobile_link_template' => 'Mobile Link Template [mobile_link_template]',
|
776 |
'mobile_pickup_link_template' => 'Mobile Pickup Link Template [mobile_pickup_link_template]',
|
777 |
-
'---
|
778 |
);
|
779 |
}
|
780 |
|
15 |
*/
|
16 |
class Woo_Feed_Default_Attributes {
|
17 |
|
18 |
+
public $googleCSVTXTAttribute
|
19 |
+
= array(
|
20 |
+
'id' => array( 'id', false ),
|
21 |
+
'webitemid' => array( 'webitemid', false ),
|
22 |
+
'region_id' => array( 'region_id', false ),
|
23 |
+
'title' => array( 'title', true ),
|
24 |
+
'description' => array( 'description', true ),
|
25 |
+
'link' => array( 'link', true ),
|
26 |
+
'canonical_link' => array( 'canonical link', true ),
|
27 |
+
'mobile_link' => array( 'mobile_link', true ),
|
28 |
+
'product_type' => array( 'product type', true ),
|
29 |
+
'current_category' => array( 'google product category', true ),
|
30 |
+
'image' => array( 'image link', true ),
|
31 |
+
'images' => array( 'additional image link', true ),
|
32 |
+
'images_1' => array( 'additional image link 1', true ),
|
33 |
+
'images_2' => array( 'additional image link 2', true ),
|
34 |
+
'images_3' => array( 'additional image link 3', true ),
|
35 |
+
'images_4' => array( 'additional image link 4', true ),
|
36 |
+
'images_5' => array( 'additional image link 5', true ),
|
37 |
+
'images_6' => array( 'additional image link 6', true ),
|
38 |
+
'images_7' => array( 'additional image link 7', true ),
|
39 |
+
'images_8' => array( 'additional image link 8', true ),
|
40 |
+
'images_9' => array( 'additional image link 9', true ),
|
41 |
+
'images_10' => array( 'additional image link 10', true ),
|
42 |
+
'condition' => array( 'condition', false ),
|
43 |
+
'availability' => array( 'availability', false ),
|
44 |
+
'availability_date' => array( 'availability date', false ),
|
45 |
+
'inventory' => array( 'inventory', false ),
|
46 |
+
'price' => array( 'price', true ),
|
47 |
+
'sale_price' => array( 'sale price', true ),
|
48 |
+
'sale_price_effective_date' => array( 'sale price effective date', true ),
|
49 |
+
'brand' => array( 'brand', true ),
|
50 |
+
'sku' => array( 'mpn', true ),
|
51 |
+
'upc' => array( 'gtin', true ),
|
52 |
+
'identifier_exists' => array( 'identifier exists', true ),
|
53 |
+
'item_group_id' => array( 'item group id', false ),
|
54 |
+
'product_length' => array( 'product length', true ),
|
55 |
+
'product_width' => array( 'product width', true ),
|
56 |
+
'product_height' => array( 'product height', true ),
|
57 |
+
'product_weight' => array( 'product weight', true ),
|
58 |
+
'product_highlight_1' => array( 'product highlight 1', true ),
|
59 |
+
'product_highlight_2' => array( 'product highlight 2', true ),
|
60 |
+
'product_highlight_3' => array( 'product highlight 3', true ),
|
61 |
+
'product_highlight_4' => array( 'product highlight 4', true ),
|
62 |
+
'product_highlight_5' => array( 'product highlight 5', true ),
|
63 |
+
'product_highlight_6' => array( 'product highlight 6', true ),
|
64 |
+
'product_highlight_7' => array( 'product highlight 7', true ),
|
65 |
+
'product_highlight_8' => array( 'product highlight 8', true ),
|
66 |
+
'product_highlight_9' => array( 'product highlight 9', true ),
|
67 |
+
'product_highlight_10' => array( 'product highlight 10', true ),
|
68 |
+
'color' => array( 'color', true ),
|
69 |
+
'gender' => array( 'gender', true ),
|
70 |
+
'age_group' => array( 'age group', true ),
|
71 |
+
'material' => array( 'material', true ),
|
72 |
+
'pattern' => array( 'pattern', true ),
|
73 |
+
'size' => array( 'size', true ),
|
74 |
+
'size_type' => array( 'size type', true ),
|
75 |
+
'size_system' => array( 'size system', true ),
|
76 |
+
'free_shipping_label' => array( 'free_shipping_label', true ),
|
77 |
+
'free_shipping_limit' => array( 'free_shipping_limit', true ),
|
78 |
+
'average_review_rating' => array( 'average_review_rating', true ),
|
79 |
+
'number_of_ratings' => array( 'number_of_ratings', true ),
|
80 |
+
'number_of_reviews' => array( 'number_of_reviews', true ),
|
81 |
+
'tax' => array( 'tax', true ),
|
82 |
+
'tax_category' => array( 'tax category', true ),
|
83 |
+
'shipping' => array( 'shipping', true ),
|
84 |
+
'weight' => array( 'shipping weight', false ),
|
85 |
+
'length' => array( 'shipping length', false ),
|
86 |
+
'width' => array( 'shipping width', false ),
|
87 |
+
'height' => array( 'shipping height', false ),
|
88 |
+
'ships_from_country' => array( 'ships from country', false ),
|
89 |
+
'shipping_label' => array( 'shipping label', false ),
|
90 |
+
'shipping_country' => array( 'shipping country', false ),
|
91 |
+
'shipping_service' => array( 'shipping service', false ),
|
92 |
+
'shipping_price' => array( 'shipping price', false ),
|
93 |
+
'shipping_region' => array( 'shipping region', false ),
|
94 |
+
'multipack' => array( 'multipack', true ),
|
95 |
+
'is_bundle' => array( 'is bundle', true ),
|
96 |
+
'adult' => array( 'adult', true ),
|
97 |
+
'ads_redirect' => array( 'ads redirect', true ),
|
98 |
+
'custom_label_0' => array( 'custom label 0', true ),
|
99 |
+
'custom_label_1' => array( 'custom label 1', true ),
|
100 |
+
'custom_label_2' => array( 'custom label 2', true ),
|
101 |
+
'custom_label_3' => array( 'custom label 3', true ),
|
102 |
+
'custom_label_4' => array( 'custom label 4', true ),
|
103 |
+
'excluded_destination' => array( 'excluded destination', true ),
|
104 |
+
'shopping_ads_excluded_country' => array( 'shopping ads excluded country', true ),
|
105 |
+
'included_destination' => array( 'included destination', true ),
|
106 |
+
'expiration_date' => array( 'expiration date', true ),
|
107 |
+
'unit_pricing_measure' => array( 'unit pricing measure', true ),
|
108 |
+
'unit_pricing_base_measure' => array( 'unit pricing base measure', true ),
|
109 |
+
'installment_months' => array( 'months', true ),
|
110 |
+
'installment_amount' => array( 'amount', true ),
|
111 |
+
'subscription_period' => array( 'period', true ),
|
112 |
+
'subscription_period_length' => array( 'period_length', true ),
|
113 |
+
'subscription_amount' => array( 'amount', true ),
|
114 |
+
'energy_efficiency_class' => array( 'energy efficiency class', true ),
|
115 |
+
'min_energy_efficiency_class' => array( 'min energy efficiency class', true ),
|
116 |
+
'max_energy_efficiency_class' => array( 'max energy efficiency class', true ),
|
117 |
+
'loyalty_points' => array( 'loyalty points', true ),
|
118 |
+
'installment' => array( 'installment', true ),
|
119 |
+
'promotion_id' => array( 'promotion id', true ),
|
120 |
+
'cost_of_goods_sold' => array( 'cost of goods sold', true ),
|
121 |
+
'sell_on_google_quantity' => array( 'sell on google quantity', false ),
|
122 |
+
'min_handling_time' => array( 'min handling time', false ),
|
123 |
+
'max_handling_time' => array( 'max handling time', false ),
|
124 |
+
'transit_time_label' => array( 'transit time label', false ),
|
125 |
+
'return_address_label' => array( 'return address label', false ),
|
126 |
+
'return_policy_label' => array( 'return policy label', false ),
|
127 |
+
'store_code' => array( 'store code', false ),
|
128 |
+
'pickup_method' => array( 'pickup method', true ),
|
129 |
+
'pickup_sla' => array( 'pickup sla', true ),
|
130 |
+
'pickup_link_template' => array( 'pickup link template', true ),
|
131 |
+
'link_template' => array( 'link template', true ),
|
132 |
+
'mobile_link_template' => array( 'mobile link template', true ),
|
133 |
+
'mobile_pickup_link_template' => array( 'mobile pickup link template', true ),
|
134 |
+
'google_funded_promotion_eligibility' => array(
|
135 |
+
'google funded promotion eligibility',
|
136 |
+
false,
|
137 |
+
),
|
138 |
+
);
|
139 |
public $googleXMLAttribute
|
140 |
= array(
|
141 |
'id' => array( 'g:id', false ),
|
200 |
'tax_rate' => array( 'g:tax_rate', true ),
|
201 |
'tax_ship' => array( 'g:tax_ship', true ),
|
202 |
'tax_category' => array( 'g:tax_category', true ),
|
203 |
+
'free_shipping_label' => array( 'g:free_shipping_label', true ),
|
204 |
+
'free_shipping_limit' => array( 'g:free_shipping_limit', true ),
|
205 |
+
'average_review_rating' => array( 'g:average_review_rating', true ),
|
206 |
+
'number_of_ratings' => array( 'g:number_of_ratings', true ),
|
207 |
+
'number_of_reviews' => array( 'g:number_of_reviews', true ),
|
208 |
'shipping' => array( 'g:shipping', true ),
|
209 |
'weight' => array( 'g:shipping_weight', false ),
|
210 |
'length' => array( 'g:shipping_length', false ),
|
271 |
false,
|
272 |
),
|
273 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
public $facebookXMLAttribute
|
275 |
= array(
|
276 |
'id' => array( 'g:id', false ),
|
468 |
'tax_rate' => array( 'g:tax_rate', true ),
|
469 |
'tax_ship' => array( 'g:tax_ship', true ),
|
470 |
'tax_category' => array( 'g:tax_category', true ),
|
471 |
+
'free_shipping_label' => array( 'g:free_shipping_label', true ),
|
472 |
+
'free_shipping_limit' => array( 'g:free_shipping_limit', true ),
|
473 |
+
'average_review_rating' => array( 'g:average_review_rating', true ),
|
474 |
+
'number_of_ratings' => array( 'g:number_of_ratings', true ),
|
475 |
+
'number_of_reviews' => array( 'g:number_of_reviews', true ),
|
476 |
'weight' => array( 'g:shipping_weight', false ),
|
477 |
'length' => array( 'g:shipping_length', false ),
|
478 |
'width' => array( 'g:shipping_width', false ),
|
550 |
'tax_rate' => array( 'tax_rate', true ),
|
551 |
'tax_ship' => array( 'tax_ship', true ),
|
552 |
'tax_category' => array( 'tax_category', true ),
|
553 |
+
'free_shipping_label' => array( 'free_shipping_label', true ),
|
554 |
+
'free_shipping_limit' => array( 'free_shipping_limit', true ),
|
555 |
+
'average_review_rating' => array( 'average_review_rating', true ),
|
556 |
+
'number_of_ratings' => array( 'number_of_ratings', true ),
|
557 |
+
'number_of_reviews' => array( 'number_of_reviews', true ),
|
558 |
'weight' => array( 'shipping_weight', false ),
|
559 |
'length' => array( 'shipping_length', false ),
|
560 |
'width' => array( 'shipping_width', false ),
|
763 |
'--14' => 'Multiple Installments (Brazil Only)',
|
764 |
'installment' => 'Installment[installment]',
|
765 |
'---14' => '',
|
766 |
+
'--15' => 'Pinterest Catalog Attributes',
|
767 |
+
'free_shipping_label' => 'Free Shipping Label[free_shipping_label]',
|
768 |
+
'free_shipping_limit' => 'Free Shipping Limit[free_shipping_limit]',
|
769 |
+
'average_review_rating' => 'Average Review Rating[average_review_rating]',
|
770 |
+
'number_of_ratings' => 'Number of Ratings[number_of_ratings]',
|
771 |
+
'number_of_reviews' => 'Number of Reviews[number_of_reviews]',
|
772 |
+
'---15' => '',
|
773 |
+
'--16' => 'Merchant Promotions Attributes',
|
774 |
'promotion_id' => 'Promotion Id[promotion_id]',
|
775 |
'product_applicability' => 'Product Applicability[product_applicability]',
|
776 |
'offer_type' => 'Offer Type[offer_type]',
|
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]',
|
791 |
'return_address_label' => 'Return Address [return_address_label]',
|
792 |
'return_policy_label' => 'Return Policy [return_policy_label]',
|
793 |
'google_funded_promotion_eligibility' => 'Google Funded Promotion Eligibility [google_funded_promotion_eligibility]',
|
794 |
+
'---17' => '',
|
795 |
+
'--18' => 'Local Inventory / Product Inventory',
|
796 |
'store_code' => 'Store Code [store_code]',
|
797 |
'quantity' => 'Quantity [quantity]',
|
798 |
'pickup_method' => 'Pickup Method [pickup_method]',
|
801 |
'link_template' => 'Link Template [link_template]',
|
802 |
'mobile_link_template' => 'Mobile Link Template [mobile_link_template]',
|
803 |
'mobile_pickup_link_template' => 'Mobile Pickup Link Template [mobile_pickup_link_template]',
|
804 |
+
'---18' => '',
|
805 |
);
|
806 |
}
|
807 |
|
includes/classes/class-woo-feed-products-v3.php
CHANGED
@@ -3863,7 +3863,7 @@ class Woo_Feed_Products_v3
|
|
3863 |
$getproductattribute = implode(',', wc_get_product_terms($id, $attr, array('fields' => 'names')));
|
3864 |
}
|
3865 |
|
3866 |
-
return apply_filters('woo_feed_filter_product_attribute', $getproductattribute, $product, $this->config);
|
3867 |
}
|
3868 |
|
3869 |
/**
|
3863 |
$getproductattribute = implode(',', wc_get_product_terms($id, $attr, array('fields' => 'names')));
|
3864 |
}
|
3865 |
|
3866 |
+
return apply_filters('woo_feed_filter_product_attribute', $getproductattribute, $product, $attr, $this->config);
|
3867 |
}
|
3868 |
|
3869 |
/**
|
includes/feeds/class-woo-feed-review.php
CHANGED
@@ -240,6 +240,7 @@ class Woo_Feed_Review {
|
|
240 |
array(
|
241 |
'post_id' => $id,
|
242 |
'post_type' => 'product',
|
|
|
243 |
)
|
244 |
);
|
245 |
|
@@ -247,13 +248,24 @@ class Woo_Feed_Review {
|
|
247 |
|
248 |
if ( $reviews && is_array($reviews) ) {
|
249 |
foreach ( $reviews as $single_review ) {
|
250 |
-
$
|
251 |
-
$
|
252 |
-
$
|
253 |
-
$
|
254 |
-
$
|
255 |
-
$
|
256 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
$review['review']['products'] = array();
|
258 |
$review['review']['products']['product'] = array();
|
259 |
|
@@ -275,6 +287,7 @@ class Woo_Feed_Review {
|
|
275 |
|
276 |
//add prefix - suffix to attribute value
|
277 |
$attributeValue = $prefix . $attributeValue . $suffix;
|
|
|
278 |
|
279 |
if ( "review_temp_gtin" === $merchant_attribute ) {
|
280 |
$review['review']['products']['product']['product_ids']['gtins']['gtin'] = $attributeValue;
|
@@ -287,7 +300,7 @@ class Woo_Feed_Review {
|
|
287 |
} else {
|
288 |
$review['review']['products']['product'][ $merchant_attribute ] = $attributeValue;
|
289 |
}
|
290 |
-
}
|
291 |
|
292 |
array_push($feed['reviews'], $review);
|
293 |
}
|
240 |
array(
|
241 |
'post_id' => $id,
|
242 |
'post_type' => 'product',
|
243 |
+
'parent' => 0
|
244 |
)
|
245 |
);
|
246 |
|
248 |
|
249 |
if ( $reviews && is_array($reviews) ) {
|
250 |
foreach ( $reviews as $single_review ) {
|
251 |
+
$review_content = $single_review->comment_content;
|
252 |
+
$rating = get_comment_meta( $single_review->comment_ID, 'rating', true);
|
253 |
+
$review_content = woo_feed_strip_all_tags(wp_specialchars_decode($review_content));
|
254 |
+
$review_content = preg_replace('/[^A-Za-z0-9-]/', ' ', $review_content);;
|
255 |
+
$review_content = !empty($review_content) ? "<![CDATA[" . woo_feed_strip_all_tags(wp_specialchars_decode($review_content)) . "]]>" : "";
|
256 |
+
$review_product_url = !empty($product->get_permalink()) ? "<![CDATA[" . $product->get_permalink() . "]]>" : "";
|
257 |
+
$review_id = !empty($single_review->comment_ID) ? "<![CDATA[" . $single_review->comment_ID . "]]>" : "";
|
258 |
+
$review_author = !empty($single_review->comment_author) ? "<![CDATA[" . $single_review->comment_author . "]]>" : "";
|
259 |
+
$review_user_id = !empty($single_review->user_id) ? "<![CDATA[" . $single_review->user_id . "]]>" : "";
|
260 |
+
$review_time = !empty($single_review->comment_date_gmt) ? "<![CDATA[" . $single_review->comment_date_gmt . "]]>" : "";
|
261 |
+
|
262 |
+
$review['review']['review_id'] = $review_id;
|
263 |
+
$review['review']['reviewer']['name'] = $review_author;
|
264 |
+
$review['review']['reviewer']['reviewer_id'] = $review_user_id;
|
265 |
+
$review['review']['content'] = $review_content;
|
266 |
+
$review['review']['review_timestamp'] = $review_time;
|
267 |
+
$review['review']['review_url'] = $review_product_url;
|
268 |
+
$review['review']['ratings']["overall"] = $rating;
|
269 |
$review['review']['products'] = array();
|
270 |
$review['review']['products']['product'] = array();
|
271 |
|
287 |
|
288 |
//add prefix - suffix to attribute value
|
289 |
$attributeValue = $prefix . $attributeValue . $suffix;
|
290 |
+
$attributeValue = !empty($attributeValue) ? "<![CDATA[" . $attributeValue . "]]>" : "";
|
291 |
|
292 |
if ( "review_temp_gtin" === $merchant_attribute ) {
|
293 |
$review['review']['products']['product']['product_ids']['gtins']['gtin'] = $attributeValue;
|
300 |
} else {
|
301 |
$review['review']['products']['product'][ $merchant_attribute ] = $attributeValue;
|
302 |
}
|
303 |
+
}
|
304 |
|
305 |
array_push($feed['reviews'], $review);
|
306 |
}
|
includes/helper.php
CHANGED
@@ -3749,6 +3749,18 @@ if (!function_exists('woo_feed_filter_woocommerce_structured_data_product')) {
|
|
3749 |
}
|
3750 |
}
|
3751 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3752 |
// Check if we have mpn data.
|
3753 |
if ('enable' === $disable_mpn && !empty($mpn)) {
|
3754 |
$mpn = $product->get_meta('woo_feed_mpn');
|
3749 |
}
|
3750 |
}
|
3751 |
|
3752 |
+
//get price and currency to work with all the compatible currency plugin
|
3753 |
+
$price = $product->get_price();
|
3754 |
+
$currency = get_woocommerce_currency();
|
3755 |
+
|
3756 |
+
//filter schema price & currency
|
3757 |
+
$price = apply_filters('woo_feed_schema_product_price', $price, $markup, $product);
|
3758 |
+
$currency = apply_filters('woo_feed_schema_product_currency', $currency, $markup, $product);
|
3759 |
+
$markup['offers'][0]['price'] = $price;
|
3760 |
+
$markup['offers'][0]['priceSpecification']['price'] = $price;
|
3761 |
+
$markup['offers'][0]['priceSpecification']['priceCurrency'] = $currency;
|
3762 |
+
$markup['offers'][0]['priceCurrency'] = $currency;
|
3763 |
+
|
3764 |
// Check if we have mpn data.
|
3765 |
if ('enable' === $disable_mpn && !empty($mpn)) {
|
3766 |
$mpn = $product->get_meta('woo_feed_mpn');
|
languages/woo-feed.pot
CHANGED
@@ -16,7 +16,7 @@ msgstr ""
|
|
16 |
msgid "Unauthorized Action."
|
17 |
msgstr ""
|
18 |
|
19 |
-
#: woo-feed.php:141, woo-feed.php:260, includes/helper.php:853, includes/helper.php:1904, includes/helper.php:2949, includes/helper.php:2978, includes/helper.php:3366, includes/helper.php:3564, includes/helper.php:3592, includes/helper.php:
|
20 |
msgid "Invalid Request."
|
21 |
msgstr ""
|
22 |
|
@@ -709,31 +709,31 @@ msgstr ""
|
|
709 |
msgid "Choose from the most used"
|
710 |
msgstr ""
|
711 |
|
712 |
-
#: includes/helper.php:
|
713 |
msgid "Option Successfully Added."
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: includes/helper.php:
|
717 |
msgid "Option Already Added."
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: includes/helper.php:
|
721 |
msgid "Delivery up to 30 days"
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: includes/helper.php:
|
725 |
msgid "Delivery 1 to 3 days"
|
726 |
msgstr ""
|
727 |
|
728 |
-
#: includes/helper.php:
|
729 |
msgid "Feed data is empty. Can't duplicate feed."
|
730 |
msgstr ""
|
731 |
|
732 |
-
#: includes/helper.php:
|
733 |
msgid "Unable to save the duplicate feed data."
|
734 |
msgstr ""
|
735 |
|
736 |
-
#: includes/helper.php:
|
737 |
msgid "Feed Successfully Duplicated, but unable to generate the data file. Please click the \"Regenerate Button\""
|
738 |
msgstr ""
|
739 |
|
16 |
msgid "Unauthorized Action."
|
17 |
msgstr ""
|
18 |
|
19 |
+
#: woo-feed.php:141, woo-feed.php:260, includes/helper.php:853, includes/helper.php:1904, includes/helper.php:2949, includes/helper.php:2978, includes/helper.php:3366, includes/helper.php:3564, includes/helper.php:3592, includes/helper.php:4845, includes/helper.php:5354
|
20 |
msgid "Invalid Request."
|
21 |
msgstr ""
|
22 |
|
709 |
msgid "Choose from the most used"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: includes/helper.php:4533
|
713 |
msgid "Option Successfully Added."
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: includes/helper.php:4524
|
717 |
msgid "Option Already Added."
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: includes/helper.php:5259
|
721 |
msgid "Delivery up to 30 days"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: includes/helper.php:5257
|
725 |
msgid "Delivery 1 to 3 days"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: includes/helper.php:5362
|
729 |
msgid "Feed data is empty. Can't duplicate feed."
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: includes/helper.php:5378
|
733 |
msgid "Unable to save the duplicate feed data."
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: includes/helper.php:5388
|
737 |
msgid "Feed Successfully Duplicated, but unable to generate the data file. Please click the \"Regenerate Button\""
|
738 |
msgstr ""
|
739 |
|
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.
|
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.51
|
14 |
* Author: WebAppick
|
15 |
* Author URI: https://webappick.com/
|
16 |
* License: GPL v2
|