Version Description
(2021-04-07) = * Fixed: Performance Enhancement. * Fixed: Junk Cleaned.
Download this release
Release Info
Developer | wahid0003 |
Plugin | CTX Feed – WooCommerce Product Feed Manager Plugin |
Version | 4.3.62 |
Comparing to | |
See all releases |
Code changes from version 4.3.61 to 4.3.62
- README.txt +5 -1
- admin/partials/templates/google_product_review.txt +0 -22
- includes/classes/class-woo-feed-dropdown.php +13 -13
- includes/feeds/class-woo-feed-review.php +11 -28
- languages/README.txt +0 -1909
- languages/WOO_FEED_LICENSE.txt +0 -339
- languages/uninstall.php +0 -16
- languages/woo-feed.php +0 -1004
- woo-feed.php +2 -2
README.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: Product Feed, WooCommerce, Google Shopping, Google Merchant, Facebook Cata
|
|
5 |
Requires at least: 3.6
|
6 |
Tested Up To: 5.7
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 4.3.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -498,6 +498,10 @@ Using pro version:
|
|
498 |
|
499 |
== Changelog ==
|
500 |
|
|
|
|
|
|
|
|
|
501 |
= 4.3.61 (2021-04-06) =
|
502 |
* Added: Google product review template has been added - (beta test).
|
503 |
* Fixed: PHP Warning: min() lowest shipping price issue fixed.
|
5 |
Requires at least: 3.6
|
6 |
Tested Up To: 5.7
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 4.3.62
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
498 |
|
499 |
== Changelog ==
|
500 |
|
501 |
+
= 4.3.62 (2021-04-07) =
|
502 |
+
* Fixed: Performance Enhancement.
|
503 |
+
* Fixed: Junk Cleaned.
|
504 |
+
|
505 |
= 4.3.61 (2021-04-06) =
|
506 |
* Added: Google product review template has been added - (beta test).
|
507 |
* Fixed: PHP Warning: min() lowest shipping price issue fixed.
|
admin/partials/templates/google_product_review.txt
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<feed xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
|
3 |
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
4 |
-
xsi:noNamespaceSchemaLocation=
|
5 |
-
"http://www.google.com/shopping/reviews/schema/product/2.3/product_reviews.xsd">
|
6 |
-
<version>2.3</version>
|
7 |
-
<aggregator>
|
8 |
-
<name>{AggreeGator}</name>
|
9 |
-
</aggregator>
|
10 |
-
<publisher>
|
11 |
-
<name>{RetailerName}</name>
|
12 |
-
</publisher>
|
13 |
-
<reviews>
|
14 |
-
<title><![CDATA[ {BlogName} ]]></title>
|
15 |
-
<link><![CDATA[ {BlogURL} ]]></link>
|
16 |
-
<description><![CDATA[ {BlogDescription} ]]></description>
|
17 |
-
<updated_at>{DateTimeNow}</updated_at>
|
18 |
-
<review>
|
19 |
-
{separator}
|
20 |
-
</review>
|
21 |
-
</reviews>
|
22 |
-
</feed>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/classes/class-woo-feed-dropdown.php
CHANGED
@@ -604,19 +604,19 @@ class Woo_Feed_Dropdown {
|
|
604 |
$attributes['---6'] = '';
|
605 |
}
|
606 |
|
607 |
-
$_meta_keys = $this->getProductMetaKeys();
|
608 |
-
if ( ! empty( $_meta_keys ) && is_array( $_meta_keys ) ) {
|
609 |
-
$attributes['--7'] = esc_html__( 'Custom Fields & Post Metas', 'woo-feed' );
|
610 |
-
$attributes = $attributes + $_meta_keys;
|
611 |
-
$attributes['---7'] = '';
|
612 |
-
}
|
613 |
-
|
614 |
-
$_taxonomies = $this->getAllTaxonomy();
|
615 |
-
if ( ! empty( $_taxonomies ) && is_array( $_taxonomies ) ) {
|
616 |
-
$attributes['--8'] = esc_html__( 'Custom Taxonomies', 'woo-feed' );
|
617 |
-
$attributes = $attributes + $_taxonomies;
|
618 |
-
$attributes['---8'] = '';
|
619 |
-
}
|
620 |
|
621 |
return $attributes;
|
622 |
}
|
604 |
$attributes['---6'] = '';
|
605 |
}
|
606 |
|
607 |
+
// $_meta_keys = $this->getProductMetaKeys();
|
608 |
+
// if ( ! empty( $_meta_keys ) && is_array( $_meta_keys ) ) {
|
609 |
+
// $attributes['--7'] = esc_html__( 'Custom Fields & Post Metas', 'woo-feed' );
|
610 |
+
// $attributes = $attributes + $_meta_keys;
|
611 |
+
// $attributes['---7'] = '';
|
612 |
+
// }
|
613 |
+
//
|
614 |
+
// $_taxonomies = $this->getAllTaxonomy();
|
615 |
+
// if ( ! empty( $_taxonomies ) && is_array( $_taxonomies ) ) {
|
616 |
+
// $attributes['--8'] = esc_html__( 'Custom Taxonomies', 'woo-feed' );
|
617 |
+
// $attributes = $attributes + $_taxonomies;
|
618 |
+
// $attributes['---8'] = '';
|
619 |
+
// }
|
620 |
|
621 |
return $attributes;
|
622 |
}
|
includes/feeds/class-woo-feed-review.php
CHANGED
@@ -20,33 +20,6 @@ class Woo_Feed_Review {
|
|
20 |
*/
|
21 |
public $products;
|
22 |
|
23 |
-
/**
|
24 |
-
* This variable is responsible for holding feed configuration form values
|
25 |
-
*
|
26 |
-
* @since 1.0.0
|
27 |
-
* @var array $rules Contains feed configuration form values
|
28 |
-
* @access public
|
29 |
-
*/
|
30 |
-
public $rules;
|
31 |
-
|
32 |
-
/**
|
33 |
-
* This variable is responsible for mapping store attributes to merchant attribute
|
34 |
-
*
|
35 |
-
* @since 1.0.0
|
36 |
-
* @var array $mapping Map store attributes to merchant attribute
|
37 |
-
* @access public
|
38 |
-
*/
|
39 |
-
public $mapping;
|
40 |
-
|
41 |
-
/**
|
42 |
-
* This variable is responsible for generate error logs
|
43 |
-
*
|
44 |
-
* @since 1.0.0
|
45 |
-
* @var array $errorLog Generate error logs
|
46 |
-
* @access public
|
47 |
-
*/
|
48 |
-
public $errorLog;
|
49 |
-
|
50 |
/**
|
51 |
* This variable is responsible for making error number
|
52 |
*
|
@@ -145,6 +118,11 @@ class Woo_Feed_Review {
|
|
145 |
return $feed;
|
146 |
}
|
147 |
|
|
|
|
|
|
|
|
|
|
|
148 |
public function get_products_with_reviews() {
|
149 |
$args = array(
|
150 |
'post_type' => 'product',
|
@@ -209,6 +187,12 @@ class Woo_Feed_Review {
|
|
209 |
return $data;
|
210 |
}
|
211 |
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
public function processReviewsData($config) {
|
213 |
$ids = $this->ids;
|
214 |
|
@@ -221,7 +205,6 @@ class Woo_Feed_Review {
|
|
221 |
if( $ids && is_array($ids) ) {
|
222 |
foreach($ids as $id) {
|
223 |
$product = wc_get_product($id);
|
224 |
-
// error_log( print_r( $product, true ) );
|
225 |
|
226 |
$reviews = get_comments(
|
227 |
array(
|
20 |
*/
|
21 |
public $products;
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
/**
|
24 |
* This variable is responsible for making error number
|
25 |
*
|
118 |
return $feed;
|
119 |
}
|
120 |
|
121 |
+
/**
|
122 |
+
* Get products having reviews
|
123 |
+
*
|
124 |
+
* @return array $ids product ids
|
125 |
+
*/
|
126 |
public function get_products_with_reviews() {
|
127 |
$args = array(
|
128 |
'post_type' => 'product',
|
187 |
return $data;
|
188 |
}
|
189 |
|
190 |
+
/**
|
191 |
+
* Process Reviews Data
|
192 |
+
*
|
193 |
+
* @param mixed $config feed configuration
|
194 |
+
*
|
195 |
+
*/
|
196 |
public function processReviewsData($config) {
|
197 |
$ids = $this->ids;
|
198 |
|
205 |
if( $ids && is_array($ids) ) {
|
206 |
foreach($ids as $id) {
|
207 |
$product = wc_get_product($id);
|
|
|
208 |
|
209 |
$reviews = get_comments(
|
210 |
array(
|
languages/README.txt
DELETED
@@ -1,1909 +0,0 @@
|
|
1 |
-
=== CTX Feed - WooCommerce Product Feed Generator ===
|
2 |
-
Contributors: wahid0003, webappick, mhamudul_hk, shuvo586, nayanchamp7
|
3 |
-
Donate link: https://webappick.com
|
4 |
-
Tags: Product Feed, WooCommerce, Google Shopping, Google Merchant, Facebook Catalog, Bing Shopping, Instagram Shop, Skroutz Data Feed, xml feed, csv feed, txt feed, woocommerce product feed
|
5 |
-
Requires at least: 3.6
|
6 |
-
Tested Up To: 5.7
|
7 |
-
Requires PHP: 5.6
|
8 |
-
Stable tag: 4.3.60
|
9 |
-
License: GPLv2 or later
|
10 |
-
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
-
|
12 |
-
Generate error-free woocommerce product feed for any marketing channel like Google Shopping, Facebook Catalog, Bing, Pinterest, Instagram & 100+ more channels.
|
13 |
-
|
14 |
-
== Description ==
|
15 |
-
Easily create the most optimized and error-free product feeds for your WooCommerce store targeting the leading global and local product marketing channels like Google Shopping or Google Merchant, Facebook Dynamic Product Ads, Instagram Shopping Ads, Pinterest Shopping Ads, eBay Ads, Bing Ads, PriceRunner, Rakuten, PriceSpy, Kelko, and more.
|
16 |
-
|
17 |
-
**WooCommerce Product Feed Pro (CTX Feed)** is a WooCommerce product feed generator plugin for WooCommerce powered stores. This plugin currently supports more than 100+ marketing channels. So, you can target your desired marketing channels, price comparison sites, and/or affiliate networks.
|
18 |
-
|
19 |
-
It aims to reduce your hardship on marketing efforts to create product feeds and distribute them in multiple marketing/shopping channels. There are flexible options to update product information according to your given schedule and sync the update to the right channel via HTTP or FTP. Stay at ease knowing that your customers will automatically get the latest product information.
|
20 |
-
|
21 |
-
**UNLIMITED PRODUCTS**
|
22 |
-
|
23 |
-
You can create product feed for unlimited products. No matter how many products you have in your WooCommerce Store, this WooCommerce product feed plugin can generate product feed for any number of products.
|
24 |
-
|
25 |
-
**UNLIMITED FEED**
|
26 |
-
|
27 |
-
Create unlimited product feeds for multiple channels of your preference. There is no restriction on creating the product feed for the available online channels.
|
28 |
-
|
29 |
-
**WHAT IS PRODUCT FEED?**
|
30 |
-
|
31 |
-
The product feed is an XML, TXT, CSV, XLS, or TSV file that contains a list of product information and their attributes (id, title, description, price, image, link, and other attributes) in an organized way so that each product can be displayed into search engines, compared uniquely and can be advertised.
|
32 |
-
|
33 |
-
**WHY DO I NEED PRODUCT FEED?**
|
34 |
-
|
35 |
-
You need a product feed if you are a retailer with an eCommerce store and want to get your products into the search engine or price comparison website or affiliate network. Product feed supply your product information to those online marketing channels so that buyer can easily find your products.
|
36 |
-
<blockquote>
|
37 |
-
<h4>Read Step by Step <a target="_blank" href="https://webappick.com/docs/woocommerce-product-feed/">Documentation</a> and <a target="_blank" href="https://www.youtube.com/playlist?list=PLapCcXJAoEenI-35wc6YnnsAAgoYRxDr7">Video Tutorial</a></h4>
|
38 |
-
<br/>
|
39 |
-
<h4>For Support Email to <a href="mailto:support@webappick.com">support[@]webappick.com</a> </h4>
|
40 |
-
<br/>
|
41 |
-
<h4>REQUEST NEW FEATURE <a target="_blank" href="https://webappick.com/contact/">HERE</a></h4>
|
42 |
-
<br/>
|
43 |
-
<h4>PREMIUM VERSION: <a target="_blank" href="https://webappick.com/plugin/woocommerce-product-feed-pro/">WOOCOMMERCE PRODUCT FEED PRO</a></h4>
|
44 |
-
<br/>
|
45 |
-
</blockquote>
|
46 |
-
|
47 |
-
|
48 |
-
**WHY SHOULD I CHOSE THIS PLUGIN?**
|
49 |
-
|
50 |
-
In a word, WooCommerce Product Feed is a revolution. Yeah, it's a revolution of WooCommerce product feed technology because there are no modules or extensions that generate automatic or manual product feeds that can synchronize flexibility to shopping channels maintained by people with not much technical knowledge about WordPress. Among the thousands of reasons for choosing this WordPress plugin, we have mentioned a few of them below.
|
51 |
-
|
52 |
-
**Google Merchant Feed Upload**
|
53 |
-
[youtube https://www.youtube.com/watch?v=PTUYgF7DwEo]
|
54 |
-
|
55 |
-
**EASY USER INTERFACE:**
|
56 |
-
|
57 |
-
Creating the product feed and navigating the ctx feed plugin option is easy. Anyone can operate this product feed plugin without having any technical knowledge. You will get all the feed configuration in one window. There is no need to open a separate window to customize any field or option of the plugin.
|
58 |
-
|
59 |
-
**PRODUCT TYPES:**
|
60 |
-
|
61 |
-
Supports all default WooCommerce product types including bundle product, composite product, mix & match product, and subscription product by other plugins. Supported product types plugins are below:
|
62 |
-
|
63 |
-
* <a target="_blank" href="https://woocommerce.com/products/composite-products/">WooCommerce Composite Products</a>
|
64 |
-
* <a target="_blank" href="https://yithemes.com/themes/plugins/yith-woocommerce-composite-products/">YITH Composite Products</a>
|
65 |
-
* <a target="_blank" href="https://wordpress.org/plugins/wpc-composite-products/">WPC Composite Products for WooCommerce</a>
|
66 |
-
* <a target="_blank" href="https://woocommerce.com/products/product-bundles/">WooCommerce Product Bundles</a>
|
67 |
-
* <a target="_blank" href="https://wordpress.org/plugins/yith-woocommerce-product-bundles/">YITH WooCommerce Product Bundles</a>
|
68 |
-
* <a target="_blank" href="https://wordpress.org/plugins/woo-product-bundle/">WPC Product Bundles for WooCommerce</a>
|
69 |
-
* <a target="_blank" href="https://woocommerce.com/products/woocommerce-subscriptions/">WooCommerce Subscription</a>
|
70 |
-
|
71 |
-
**PRODUCT VARIABLE & VARIATION:**
|
72 |
-
|
73 |
-
The free version of this product feed plugin automatically adds variable products and product variation. If a variable product has four variations, then the plugin will add five products to the product feed, including one product for the variable product (parent of the variations) and four products for variations.
|
74 |
-
|
75 |
-
There is an option on the <a target="_blank" href="https://webappick.com/plugin/woocommerce-product-feed-pro/">CTX Feed Pro</a> version there you can exclude the variations or the variable products or you can keep both the variable and product variations.
|
76 |
-
|
77 |
-
**BUILTIN TEMPLATE:**
|
78 |
-
|
79 |
-
There are more than 100+ pre-configured templates to give you a quick start. Those platform-specific templates will help you create perfect WooCommerce product feeds without wasting valuable time. Apart from saving time, the templates also keep you on the safe side with perfectly formatted product feed templates.
|
80 |
-
|
81 |
-
**CUSTOM TEMPLATE:**
|
82 |
-
|
83 |
-
If a template is not available in our plugin, you can use the Custom Template to create any product feed for any channel. We can also add your channel as a template if you send your channels feed requirements to <a target="_blank" href="https://webappick.com/contact/">ctx feed support team</a>.
|
84 |
-
|
85 |
-
**PRODUCT ATTRIBUTES:**
|
86 |
-
|
87 |
-
You can include all the product attributes available in your product to make a complete product feed. You can make the product feed as detailed as possible.
|
88 |
-
|
89 |
-
**OUTPUT TYPES:**
|
90 |
-
|
91 |
-
You can modify or format the output of any product attribute value with these options below:
|
92 |
-
|
93 |
-
* **Strip tags**: You can remove HTML tags from the product description.
|
94 |
-
|
95 |
-
* **Integer**: You can format a rounded value of any number or product price.
|
96 |
-
|
97 |
-
* **Price**: You can apply a number format to any number or product price.
|
98 |
-
|
99 |
-
* **Rounded Price**: You can apply a round format to any number or product price.
|
100 |
-
|
101 |
-
* **Remove Space**: You can remove double spaces from any attribute value.
|
102 |
-
|
103 |
-
* **Remove Shortcodes**: You can remove shortcodes from the product title, description, or short description, etc.
|
104 |
-
|
105 |
-
* **Remove Special Characters**: Sometimes non-UTF-8 characters are copied when you copy product description from any other source. You can remove these non-UTF-8 characters with this output type.
|
106 |
-
|
107 |
-
* **CDATA**: CDATA protect any string from conflict between XML element and element value. Adding CDATA is a good practice for XML feed.
|
108 |
-
|
109 |
-
* **ucfirst**: Make any string’s first character uppercase.
|
110 |
-
|
111 |
-
* **ucwords**: Uppercase the first character of each word in the string.
|
112 |
-
|
113 |
-
* **strtoupper**: Transform any string to upper case.
|
114 |
-
|
115 |
-
* **strtolower**: Transform any string to lower case.
|
116 |
-
|
117 |
-
* **urlToSecure**: Convert the URL to Secure HTTPS format.
|
118 |
-
|
119 |
-
* **urlToUnsecure**: Convert the URL to HTTP format.
|
120 |
-
|
121 |
-
* **only_parent**: Only add a variable product info to variation.
|
122 |
-
|
123 |
-
* **parent**: Add variable product info to an attribute if variable value is not empty else add variation info.
|
124 |
-
|
125 |
-
* **parent_if_empty**: Add variable product info to an attribute if the variation info is empty.
|
126 |
-
|
127 |
-
* **Google Date Format**: Format date according to google merchant required format [Date and time, ISO 8601 compliant (YYYY-MM-DD, YYYY-MM-DDThh:mm:ss, or YYYY-MM-DDThh:mm:ssZ)].
|
128 |
-
|
129 |
-
* Total 18 types of output formatting option available
|
130 |
-
|
131 |
-
**PREFIX & SUFFIX:**
|
132 |
-
|
133 |
-
You can add your preferred prefix and suffix to any product attribute value. For example, if you want to add the currency code with the price, then you can enter the currency code either on prefix or suffix according to your channel requirement.
|
134 |
-
|
135 |
-
**STATIC VALUE:**
|
136 |
-
|
137 |
-
You can easily add the same information as a static value to a merchant attribute for all the products. For example, when you add store code to your google local inventory feed, you need to add the same value to your products.
|
138 |
-
|
139 |
-
**CATEGORY MAPPING:**
|
140 |
-
|
141 |
-
Categories are the essential key to get products into search results. It is best practice to assign the most matching shopping engine category to your WooCommerce store category for each product. During the creation of your WooCommerce product feeds, you can also create a category for that particular product. And after creating the category, you’ll get an option to map it to your marketplace category so that you can make two categories aligned to each other. This feature is mostly used for Google Shopping feed and Facebook/Instagram product feed. The process is dynamic by our plugin & you can map all of your categories to make them more relevant & reachable to buyers.
|
142 |
-
|
143 |
-
**BATCH FEED MAKING:**
|
144 |
-
|
145 |
-
Due to PHP execution time and memory limit, it's not possible to process Thousands of products at a time. We have developed the ctx feed plugin with the functionality to make feed with batches. Users can easily set Limit and Offset to make feed. This functionality is compatible with any WordPress Hosting and any number of products you have on your site.
|
146 |
-
|
147 |
-
**WP OPTIONS:**
|
148 |
-
|
149 |
-
You will love the ability to include any wp-options values into the Product feed. Your store must have lots of other plugins, and all those WooCommerce plugins save data as an option. We have made it simple to add WP Options value into your WooCommerce product feed.
|
150 |
-
|
151 |
-
**AUTO FEED UPDATE:**
|
152 |
-
|
153 |
-
This WooCommerce Date Feed plugin automatically updates the product feed according to your given interval so that your product data will always be up to date —no need to manually update the feed.
|
154 |
-
|
155 |
-
Due to product quantity (total products) and server configuration, the auto-feed update may not complete the update operation. For this reason, our plugin processes the products in small batches to make feed for unlimited products. But the auto-update operation process all the products at a time. So it may not work if your site has thousands of products. But you can quickly solve this issue by increasing the PHP execution_time (Time Limit) of your server.
|
156 |
-
|
157 |
-
**GOOGLE PRODUCT FEED:**
|
158 |
-
|
159 |
-
WooCommerce. With this woocommerce data feed Plugin, you can create a product feed by selecting the Google product feed template. Our pre-built google product feed template includes all the fields (Brand, GTIN, MPN, Product condition, etc.) that match the Google Product Feed requirements.
|
160 |
-
|
161 |
-
According to your feed configuration, this woocommerce data feed plugin automatically identifies the value for identifier_exist attribute based on Brand, GTIN, and MPN value.
|
162 |
-
|
163 |
-
Google Shopping product feed template automatically formats all the google product feed attribute structure according to <a target="_blank" href="https://support.google.com/merchants/answer/7052112?hl=en">Google Product Feed</a> requirements.
|
164 |
-
|
165 |
-
**GOOGLE CANONICAL URL:**
|
166 |
-
|
167 |
-
When you sell your woocommerce product with a different color variant, you may use the canonical_link attribute to submit the URL for each variant.
|
168 |
-
|
169 |
-
Then comes the canonical_link attribute that redirects all the variants to the main product's landing page that does not include any variant. Google's web search crawler identifies the URLs that link to a single base product that does not have any pre-selected parameters.
|
170 |
-
|
171 |
-
**GOOGLE SHIPPING & TAX:**
|
172 |
-
|
173 |
-
CTX Feed plugin allows you to place the shipping zone and shipping class accurately so that your Google Shopping product feed includes the correct shipping information (shipping country, region, service, postal_code, price). Our plugin utilizes your configured shipping zone settings for a proper representation. Along with WooCommerce Shipping this WooCommerce Google Product Feed plugin also compatible with <a target="_blank" href="https://codecanyon.net/item/table-rate-shipping-for-woocommerce/3796656">Table Rate Shipping</a> plugin by BolderElement.
|
174 |
-
|
175 |
-
**GOOGLE ANALYTICS UTM PARAMETER:**
|
176 |
-
|
177 |
-
WooCommerce Product Feed plugin has an option to include Google Analytics UTM parameters to the product URLs that will help you evaluate your marketing channels' performance via Google Analytics.
|
178 |
-
|
179 |
-
**GOOGLE DYNAMIC REMARKETING:**
|
180 |
-
|
181 |
-
Google Dynamic remarketing event snippet collects data about specific searches related to a product and represents personalized ads by matching them with your product feed.
|
182 |
-
|
183 |
-
Our plugin allows you to add Google Dynamic Remarketing event snippets across different pages of your website and enable the basic remarketing features of Google Remarketing Tracking.
|
184 |
-
|
185 |
-
**TABLE RATE SHIPPING:**
|
186 |
-
|
187 |
-
This plugin supports the WooCommerce Table Rate shipping by bolder element.
|
188 |
-
|
189 |
-
**FACEBOOK CATALOG / INSTAGRAM SHOPPING FEED:**
|
190 |
-
|
191 |
-
Facebook Catalog and Instagram have their own set of requirements that you need to follow to make a Facebook product feed or Instagram Shop feed. The attributes included in WooCommerce is not enough for Facebook Product Feed and Instagram Shop Feed.
|
192 |
-
|
193 |
-
With our Plugin, you can easily create a product feed by selecting the Facebook Catalog / Instagram template. We have included a pre-built Facebook Catalog Feed / Instagram Shop Feed template that includes all the required Facebook and Instagram attributes.
|
194 |
-
|
195 |
-
**FACEBOOK PIXEL TRACKING:**
|
196 |
-
|
197 |
-
With this plugin, you can integrate Facebook pixel code on your website and match it with the Facebook catalog/ Instagram product feed contents.
|
198 |
-
|
199 |
-
You can add Facebook Pixel events for Product pages, simple product page, variable product page, both Simple and Variable page, Category pages, Search result pages, All AddToCart events (cart page, cart button), Thank you Page
|
200 |
-
|
201 |
-
**PINTEREST SHOPPING PRODUCT FEED:**
|
202 |
-
|
203 |
-
With the Pinterest Product Feed template, you can easily create a product feed for woocommerce. We have included a pre-built Pinterest Feed template that includes all the Pinterest product feed attributes.
|
204 |
-
|
205 |
-
**BING SHOPPING PRODUCT FEED:**
|
206 |
-
|
207 |
-
With this plugin, you can create a Bing Shopping product feed by selecting the pre-made Bing Shopping Feed template. The Bing Shopping template includes all the necessary attributes that are required by Bing Shopping.
|
208 |
-
|
209 |
-
**DYNAMIC DISCOUNT & PRICING**
|
210 |
-
|
211 |
-
Our plugin automatically discounted price applied by any Dynamic Discount & Pricing Plugin.
|
212 |
-
|
213 |
-
**SEO TITLE & META DESCRIPTION**
|
214 |
-
|
215 |
-
CTX Feed plugin is compatible with three top-rated / most popular SEO plugins. You can assign SEO Meta Title and Meta Description instead of Product Title and Description if you want. Supported plugins are:
|
216 |
-
|
217 |
-
* <a target="_blank" href="https://wordpress.org/plugins/wordpress-seo/">Yoast SEO</a>.
|
218 |
-
* <a target="_blank" href="https://wordpress.org/plugins/all-in-one-seo-pack/">All in one SEO</a>.
|
219 |
-
* <a target="_blank" href="https://wordpress.org/plugins/seo-by-rank-math/">Rank Math SEO</a>.
|
220 |
-
|
221 |
-
**BUILTIN PLUGIN CACHE**
|
222 |
-
|
223 |
-
The built-in caching feature of our WooCommerce product feed plugin reduces the server load so that you can generate a product feed without requesting multiple database queries.
|
224 |
-
|
225 |
-
<blockquote>
|
226 |
-
<h4>If you like Free Version, you'll love the Pro Version</h4>
|
227 |
-
<br/>
|
228 |
-
<h4><a target="_blank" href="http://webappick.com/plugin/woocommerce-product-feed-pro/">WooCommerce Product Feed Pro</a> gives you everything you'll find in free and some awesome features described below.</h4>
|
229 |
-
<br/>
|
230 |
-
<br/>
|
231 |
-
</blockquote>
|
232 |
-
|
233 |
-
|
234 |
-
**PRODUCT BRAND (PRO FEATURE)**
|
235 |
-
|
236 |
-
CTX Feed Pro plugin has an option to add product brands. You can even add other brand plugins data for brands of your preference. The supported brand plugins are listed below:
|
237 |
-
|
238 |
-
* <a target="_blank" href="https://woocommerce.com/products/brands/">WooCommerce Brands</a>
|
239 |
-
* <a target="_blank" href="https://wordpress.org/plugins/perfect-woocommerce-brands/">Perfect Brands for WooCommerce</a>
|
240 |
-
* <a target="_blank" href="https://wordpress.org/plugins/yith-woocommerce-brands-add-on/">YITH WooCommerce Brands Add-On</a>
|
241 |
-
* <a target="_blank" href="https://codecanyon.net/item/ultimate-woocommerce-brands-plugin/9433984">Ultimate WooCommerce Brands Plugin</a>
|
242 |
-
|
243 |
-
**DYNAMIC ATTRIBUTE (PRO FEATURE)**
|
244 |
-
|
245 |
-
The Dynamic Attribute combines the powerful features of the WooCommerce Product Feed Pro with the ability to set your conditions for any attribute. Different types of WooCommerce users have different types & classes of products and services. So, they may need a variety of custom values to demonstrate their products. And we are giving the options to make dynamic attributes as your need. It is also possible to generate the data feed file according to the search engine's requirements without changing your store's attributes.
|
246 |
-
|
247 |
-
**SMART FILTER & CONDITION (PRO FEATURE)**
|
248 |
-
|
249 |
-
Smart Filters help you exclude the non-profitable or out of season products you don’t want to share. Its high filtering options help users filter products according to product titles, price, availability of stocks, user rating, and other extensive product specifications.
|
250 |
-
|
251 |
-
**ATTRIBUTE MAPPING (PRO FEATURE)**
|
252 |
-
|
253 |
-
The first impression becomes the last impression! For example, Your product title can build interest in the buyer to hit your product. In the e-commerce business, product titles attract customers to get on the link if they are satisfied with the search result. The extended Product Title feature allows the user to extend the title of a product by adding different attributes. Extended Product Title is a great way to differentiate the products according to their variations, such as Size, Color, Custom Text, etc.
|
254 |
-
|
255 |
-
**MULTI LANGUAGE FEED - WPML & POLYLANG (PRO FEATURE)**
|
256 |
-
|
257 |
-
WooCommerce Product Feed Pro is compatible with <a target="_blank" href="https://wpml.org/">WPML</a> & <a target="_blank" href="https://wordpress.org/plugins/polylang/">Polylang</a> plugin for Multi-Language Feed. And by supporting WPML & Polylang makes it possible for the woocommerce store owners to create woocommerce product feed in different languages & currencies.
|
258 |
-
|
259 |
-
Multilanguage enables retailers to globalize their business in minutes because they always have a better chance of selling something if they are already selling it in the native language.
|
260 |
-
|
261 |
-
**MULTI CURRENCY FEED (PRO FEATURE)**
|
262 |
-
|
263 |
-
When you want to globalize the business by selling your products in different local channels of different countries, you can create the product feed with the currency according to that channel’s currency requirement.
|
264 |
-
|
265 |
-
WooCommerce Product Feed Pro can create product feeds for specific currencies.
|
266 |
-
|
267 |
-
* <a target="_blank" href="https://wordpress.org/plugins/woocommerce-multilingual/">WooCommerce Multilingual</a>.
|
268 |
-
* <a target="_blank" href="https://polylang.pro/downloads/polylang-for-woocommerce/">Polylang WooCommerce</a>.
|
269 |
-
* <a target="_blank" href="https://aelia.co/shop/currency-switcher-woocommerce/">Currency Switcher for WooCommerce</a> By Aelia.
|
270 |
-
* <a target="_blank" href="https://wordpress.org/plugins/woocommerce-currency-switcher/">WooCommerce Currency Switcher (WOOCS)</a> by realmag777.
|
271 |
-
|
272 |
-
**MULTI VENDOR FEED (PRO FEATURE)**
|
273 |
-
|
274 |
-
Generating product feeds for your multi-vendor enabled WooCommerce store is also straightforward. You can choose multiple vendors or a single vendor while creating product feeds. The list of supported multi-vendor plugins is below.
|
275 |
-
|
276 |
-
* <a target="_blank" href="https://wedevs.com/dokan">Dokan</a>.
|
277 |
-
* <a target="_blank" href="https://www.wcvendors.com/">WC Vendors</a>.
|
278 |
-
* <a target="_blank" href="https://wc-marketplace.com/">WC Marketplace</a>.
|
279 |
-
* <a target="_blank" href="https://yithemes.com/themes/plugins/yith-woocommerce-multi-vendor/">YITH WooCommerce Multi-Vendor</a>.
|
280 |
-
* <a target="_blank" href="https://wclovers.com/">WCFM Marketplace for WooCommerce</a>.
|
281 |
-
|
282 |
-
**CUSTOM ATTRIBUTE (PRO FEATURE)**
|
283 |
-
|
284 |
-
If you have added any custom attribute field to your product, you will get the product attribute list fields while creating a feed to assign your product's custom field value to your channel attribute.
|
285 |
-
|
286 |
-
**CUSTOM FIELDS - ACF,FIELD FACTORY,ETC. (PRO FEATURE)**
|
287 |
-
|
288 |
-
This plugin supports the <a target="_blank" href="https://wordpress.org/plugins/advanced-custom-fields/">Advanced Custom Field (ACF)</a> or any custom field plugin’s fields as attribute values. You can assign your custom product attribute values to any feed attribute.
|
289 |
-
|
290 |
-
**PRODUCT META & TAXONOMIES (PRO FEATURE)**
|
291 |
-
|
292 |
-
Product meta and taxonomies are very common, but what if you wanted to add them with your product feeds too? You can add any product taxonomies or any product meta value added by WooCommerce or any WooCommerce extension plugins into your product feeds with our support for the custom taxonomies and meta. Easily add product information like brand name, model number, and size.
|
293 |
-
|
294 |
-
**AVAILABLE FEATURES:**
|
295 |
-
|
296 |
-
* Unlimited number of products.
|
297 |
-
* Unlimited number of feeds.
|
298 |
-
* It is highly customizable, having access to 100+ merchant sites & also very responsive of user commands.
|
299 |
-
* 100+ Pre configured merchant template for 200+ countries.
|
300 |
-
* Feeds are accessible via HTTP or HTTPS. So that merchant can easily and automatically fetch product feed from given Feed URL.
|
301 |
-
* You can post your product feeds either manually from your site to shopping engines
|
302 |
-
or you can also set FTP to post your feeds automatically to your desired engines.
|
303 |
-
* There are 3 supported file formats for feeds. XML, TXT, CSV.
|
304 |
-
* Attribute Prefix and Suffix. You can easily add Marketing or Promo Text with Product Title, Description And its also possible to add Price symbol,currency code with price.
|
305 |
-
* Output formatting using Strip Tags, UTF-8 encode, Remove Space, CDATA, Htmlentities, Price and Number format.
|
306 |
-
* Output Limitation. You can Limit output length according to your merchant feed specification.
|
307 |
-
* Scheduled Feed Update
|
308 |
-
* Auto Feed upload via FTP
|
309 |
-
|
310 |
-
**SUPPORTED CHANNELS:**
|
311 |
-
|
312 |
-
* <a target="_blank" href="https://www.google.com/retail/merchant-center/">Google Shopping</a>
|
313 |
-
* <a target="_blank" href="https://www.google.com/adwords/">Google AdWords</a>
|
314 |
-
* <a target="_blank" href="https://www.facebook.com/business/a/online-sales/dynamic-product-ads">Facebook Catalog Feed</a>
|
315 |
-
* <a target="_blank" href="https://help.pinterest.com/en/business/article/data-source-specification">Pinterest Catalog Feed </a>
|
316 |
-
* <a target="_blank" href="https://advertising.amazon.com/">Amazon Seller Ad</a>
|
317 |
-
* <a target="_blank" href="http://www.ebaycommercenetwork.com/">eBay Commerce Network</a>
|
318 |
-
* <a target="_blank" href="http://www.nextag.com/">NexTag.com</a>
|
319 |
-
* <a target="_blank" href="http://www.pricegrabber.com/">PriceGrabber.com </a>
|
320 |
-
* <a target="_blank" href="https://www.kelkoo.com/">Kelkoo.com</a>
|
321 |
-
* <a target="_blank" href="http://www.houzz.com/">Houzz.com</a>
|
322 |
-
* <a target="_blank" href="http://www.dealtime.com">Dealtime.com</a>
|
323 |
-
* <a target="_blank" href="http://www.affiliatewindow.com/uk/">Affiliatewindow.com</a>
|
324 |
-
* <a target="_blank" href="http://advertise.bingads.microsoft.com/en-uk/home">Bing Ads</a>
|
325 |
-
* <a target="_blank" href="http://www.idealo.de/">Idealo.de</a>
|
326 |
-
* <a target="_blank" href="https://www.beslist.nl/">Beslist.nl</a>
|
327 |
-
* <a target="_blank" href="https://www.ffshoppen.nl/">ffshoppen.nl</a>
|
328 |
-
* <a target="_blank" href="https://www.vergelijk.nl/">vergelijk.nl</a>
|
329 |
-
* <a target="_blank" href="https://siroop.ch/">siroop.ch</a>
|
330 |
-
* <a target="_blank" href="https://jet.com/">Jet.com</a>
|
331 |
-
* <a target="_blank" href="https://www.wish.com/">Wish.com</a>
|
332 |
-
* <a target="_blank" href="http://www.bizrate.com/">bizrate.com</a>
|
333 |
-
* <a target="_blank" href="http://www.shopping.com/">Shopping.com</a>
|
334 |
-
* <a target="_blank" href="http://www.shopzilla.com/">Shopzilla.com</a>
|
335 |
-
* <a target="_blank" href="http://www.shopmania.com/">ShopMania.com</a>
|
336 |
-
* <a target="_blank" href="http://www.shop.com/">Shop.com</a>
|
337 |
-
* <a target="_blank" href="https://pricespy.co.uk/">PriceSpy.co.uk</a>
|
338 |
-
* <a target="_blank" href="https://www.prisjakt.nu/">Prisjakt.nu</a>
|
339 |
-
* <a target="_blank" href="https://www.pricefalls.com/">Pricefalls.com</a>
|
340 |
-
* <a target="_blank" href="http://www.pricerunner.co.uk/">Pricerunner.co.uk</a>
|
341 |
-
* <a target="_blank" href="http://www.cj.com/">Comission Junction (cj.com)</a>
|
342 |
-
* <a target="_blank" href="http://www.polyvore.com/">Polyvore.com</a>
|
343 |
-
* <a target="_blank" href="https://www.fruugo.com/">Fruugo.com</a>
|
344 |
-
* <a target="_blank" href="https://www.fruugoaustralia.com/">Fruugoaustralia.com</a>
|
345 |
-
* <a target="_blank" href="http://opensky.com">Opensky.com</a>
|
346 |
-
* <a target="_blank" href="http://11Main.com">11Main.com</a>
|
347 |
-
* <a target="_blank" href="http://www.shopbot.ca/">Shopbot.ca</a>
|
348 |
-
* <a target="_blank" href="http://www.twenga.com/">Twenga.com/</a>
|
349 |
-
* <a target="_blank" href="http://www.wine-searcher.com/">Wine-searcher.com</a>
|
350 |
-
* <a target="_blank" href="http://ammoseek.com/">Ammoseek.com</a>
|
351 |
-
* <a target="_blank" href="http://www.avantlink.com/">Avantlink.com</a>
|
352 |
-
* <a target="_blank" href="http://connexity.com/">Connexity.com</a>
|
353 |
-
* <a target="_blank" href="http://www.linkshareuk.com/">Linkshareuk.com</a>
|
354 |
-
* <a target="_blank" href="http://www.bonanza.com/">Bonanza.com</a>
|
355 |
-
* <a target="_blank" href="https://www.pepperjam.com/">Pepperjam.com</a>
|
356 |
-
* <a target="_blank" href="http://www.criteo.com/">Criteo.com</a>
|
357 |
-
* <a target="_blank" href="https://www.pixlee.com/">Pixlee.com</a>
|
358 |
-
* <a target="_blank" href="https://www.adroll.com">Adroll.com</a>
|
359 |
-
* <a target="_blank" href="http://www.graziashop.com/">GraziaShop.com</a>
|
360 |
-
* <a target="_blank" href="http://www.leguide.com/">Leguide.com</a>
|
361 |
-
* <a target="_blank" href="http://nl.hardware.info/">Hardware.info</a>
|
362 |
-
* <a target="_blank" href="http://www.pricewatch.com/">Pricewatch.com</a>
|
363 |
-
* <a target="_blank" href="http://www.newegg.com/">Newegg.com</a>
|
364 |
-
* <a target="_blank" href="http://www.webgains.com/">Webgains.com</a>
|
365 |
-
* <a target="_blank" href="http://www.rakuten.com/">Rakuten.com</a>
|
366 |
-
* <a target="_blank" href="https://www.quicksales.com.au/">Quicksales.com.au</a>
|
367 |
-
* <a target="_blank" href="http://www.mysmartprice.com/">Mysmartprice.com</a>
|
368 |
-
* <a target="_blank" href="http://ae.pricena.com/en/">Pricena.com</a>
|
369 |
-
* <a target="_blank" href="http://www.pricejugaad.com/">Pricejugaad.com</a>
|
370 |
-
* <a target="_blank" href="https://yaoota.com/en-eg/">Yaoota.com</a>
|
371 |
-
* <a target="_blank" href="https://compare.buyhatke.com/">Buyhatke.com</a>
|
372 |
-
* <a target="_blank" href="https://www.comparekaro.pk/">Comparekaro.pk</a>
|
373 |
-
* <a target="_blank" href="http://site.adform.com">Adform.com</a>
|
374 |
-
* <a target="_blank" href="https://www.polyvore.com/">Polyvore.com</a>
|
375 |
-
* <a target="_blank" href="https://www.stylight.com/">Stylight.com</a>
|
376 |
-
* <a target="_blank" href="https://www.spartoo.co.uk/">Spartoo.co.uk</a>
|
377 |
-
* <a target="_blank" href="https://shopee.com/">Shopee</a>
|
378 |
-
* <a target="_blank" href="http://www.choozen.co.uk/">Choozen</a>
|
379 |
-
* <a target="_blank" href="https://www.ciao.co.uk/">Ciao</a>
|
380 |
-
* <a target="_blank" href="http://www.priceminister.com/">PriceMinister.com</a>
|
381 |
-
* <a target="_blank" href="https://skinflint.co.uk/">Skinflint</a>
|
382 |
-
* <a target="_blank" href="https://www.rakuten.com/">Rakuten</a>
|
383 |
-
* <a target="_blank" href="https://www.etsy.com/">Etsy</a>
|
384 |
-
* <a target="_blank" href="https://www.bol.com/nl/index.html">Bol.com</a>
|
385 |
-
* <a target="_blank" href="https://www.crowdfox.com/">CrowdFox.com</a>
|
386 |
-
* <a target="_blank" href="https://www.real.de/">Real.de</a>
|
387 |
-
* <a target="_blank" href="http://incurvy.co.uk/">Incurvy.co.uk</a>
|
388 |
-
* <a target="_blank" href="https://de.allyouneed.com/de/">Allyouneed.com</a>
|
389 |
-
* <a target="_blank" href="https://www.apomio.de/">Apomio.de</a>
|
390 |
-
* <a target="_blank" href="https://www.billiger.de/">Billiger.de</a>
|
391 |
-
* <a target="_blank" href="https://www.domodi.de/">Domodi.de</a>
|
392 |
-
* <a target="_blank" href="https://www.fashiola.de/">Fashiola.de</a>
|
393 |
-
* <a target="_blank" href="https://geizhals.de/">Geizhals.de</a>
|
394 |
-
* <a target="_blank" href="http://www.guenstiger.de/">Guenstiger.de</a>
|
395 |
-
* <a target="_blank" href="https://www.hood.de/">Hood.de</a>
|
396 |
-
* <a target="_blank" href="https://www.ladenzeile.de/">Ladenzeile.de</a>
|
397 |
-
* <a target="_blank" href="https://www.livingo.de/">Livingo.de</a>
|
398 |
-
* <a target="_blank" href="https://www.medizinfuchs.de/">Medizinfuchs.de</a>
|
399 |
-
* <a target="_blank" href="https://www.moebel.de/">Moebel.de</a>
|
400 |
-
* <a target="_blank" href="https://www.mybestbrands.de/">Mybestbrands.de</a>
|
401 |
-
* <a target="_blank" href="http://www.preis.de/">Preis.de</a>
|
402 |
-
* <a target="_blank" href="https://www.restposten.de/">Restposten.de</a>
|
403 |
-
* <a target="_blank" href="https://www.sparmedo.de/">Sparmedo.de</a>
|
404 |
-
* <a target="_blank" href="https://www.stylelounge.de/">Stylelounge.de</a>
|
405 |
-
* <a target="_blank" href="http://www.stylefruits.de/">Stylefruits.de</a>
|
406 |
-
* <a target="_blank" href="https://www.marktplaats.nl/">Marktplaats.nl</a>
|
407 |
-
* <a target="_blank" href="http://spartoo.nl/">Spartoo.nl</a>
|
408 |
-
* <a target="_blank" href="https://www.ooshopping.nl/">Ooshopping.nl</a>
|
409 |
-
* <a target="_blank" href="https://www.vergelijk.nl/">Vergelijk.nl</a>
|
410 |
-
* <a target="_blank" href="https://www.kieskeurig.nl/">Kieskeurig.nl</a>
|
411 |
-
* <a target="_blank" href="https://tweakers.net/">Tweakers.net</a>
|
412 |
-
* <a target="_blank" href="https://www.kleding.nl/">Kleding.nl</a>
|
413 |
-
* <a target="_blank" href="https://www.shopalike.it/">Shopalike.it</a>
|
414 |
-
* <a target="_blank" href="https://www.trovaprezzi.it/">Trovaprezzi.it</a>
|
415 |
-
* <a target="_blank" href="https://www.skroutz.gr/">Skroutz.gr</a>
|
416 |
-
* <a target="_blank" href="https://www.manomano.fr/">Manomano.fr</a>
|
417 |
-
* <a target="_blank" href="https://www.cdiscount.com/">Cdiscount.com</a>
|
418 |
-
* <a target="_blank" href="https://www.fnac.com/">Fnac.com</a>
|
419 |
-
* <a target="_blank" href="https://www.comparer.be/">Comparer.be</a>
|
420 |
-
* <a target="_blank" href="https://www.cherchons.com/">Cherchons.com</a>
|
421 |
-
* <a target="_blank" href="http://www.miinto.com/">Miinto.com</a>
|
422 |
-
* <a target="_blank" href="https://www.ricardo.ch/">Ricardo.ch</a>
|
423 |
-
* <a target="_blank" href="https://www.kauftipp.ch/">Kauftipp.ch</a>
|
424 |
-
* <a target="_blank" href="https://zap.co.il/">Zap.co.il</a>
|
425 |
-
* <a target="_blank" href="https://www.zalando.com/">Zalando</a>
|
426 |
-
* <a target="_blank" href="https://smartly.io/">Smartly.io</a>
|
427 |
-
* <a target="_blank" href="https://www.stylight.com/">Stylight.com</a>
|
428 |
-
* <a target="_blank" href="https://developer.yahoo.com/nativeandsearch/guide/dynamic-product-ads/operations-dpa/">Yahoo Dynamic Product Ads</a>
|
429 |
-
* <a target="_blank" href="https://www.thenextad.com/">TheNextAd.com</a>
|
430 |
-
* <a target="_blank" href="https://modina.de/">Modina.de</a>
|
431 |
-
|
432 |
-
|
433 |
-
**CUSTOMER SUPPORT TEAM**
|
434 |
-
|
435 |
-
We’ve a dedicated team of coders and wordpress experts to make your journey to us friendlier & error free. So, if you want to use our plugin or if you are facing any problem with our plugin feel free to say us by emailing here: support@webappick.com.
|
436 |
-
|
437 |
-
== Installation ==
|
438 |
-
|
439 |
-
Before installing the plugin please make sure that
|
440 |
-
|
441 |
-
1. Your php version is 5.4 or greater
|
442 |
-
1. WordPress version is 3.6 or greater
|
443 |
-
1. WooCommerce version is 2.4 or greater
|
444 |
-
|
445 |
-
You can also check your system status and versions from WooCommerce > System Status
|
446 |
-
|
447 |
-
This section describes how to install the plugin and get it working.
|
448 |
-
|
449 |
-
e.g.
|
450 |
-
|
451 |
-
1. Upload `webappick-product-feed-for-woocommerce` folder to the `/wp-content/plugins/` directory
|
452 |
-
1. Activate the plugin through the 'Plugins' menu in WordPress
|
453 |
-
1. Select 'CTX Feed' from admin menu, Click 'Make Feed'
|
454 |
-
1. Select the template and make feed
|
455 |
-
1. Done!
|
456 |
-
|
457 |
-
== Frequently Asked Questions ==
|
458 |
-
|
459 |
-
<blockquote>
|
460 |
-
<h4>Read <a target="_blank" href="http://webappick.helpscoutdocs.com/article/17-woocommerce-product-feed">Documentation and FAQ</a></h4>
|
461 |
-
<br/>
|
462 |
-
<h4>For Support Email to support@webappick.com</h4>
|
463 |
-
<br/>
|
464 |
-
</blockquote>
|
465 |
-
|
466 |
-
= which shopping engines are supported? =
|
467 |
-
|
468 |
-
This plugin support all the sopping engines.
|
469 |
-
|
470 |
-
= Does the plugin support product variation? =
|
471 |
-
|
472 |
-
Yes
|
473 |
-
|
474 |
-
= Is there any limitation to feed size? =
|
475 |
-
|
476 |
-
No, You can make unlimited number of feed
|
477 |
-
|
478 |
-
= What is the difference between Free and Pro Version? =
|
479 |
-
|
480 |
-
Free version include all the major functions but Pro version have some awesome functionality.
|
481 |
-
|
482 |
-
Using pro version:
|
483 |
-
|
484 |
-
* You can filter product using price, quantity, product name
|
485 |
-
|
486 |
-
* You can use custom taxonomies or other plugins taxonomy value into feed
|
487 |
-
|
488 |
-
* Using Category Mapping You can map your store category with your merchant category which is very useful for visitor to find out your product into merchant site.
|
489 |
-
|
490 |
-
* You can make different price for different merchant using Dynamic Attribute. Also it is possible to set different value for different product using Dynamic Attribute Conditions.
|
491 |
-
|
492 |
-
== Screenshots ==
|
493 |
-
|
494 |
-
1. Manage Feed
|
495 |
-
2. Make Feed
|
496 |
-
3. Output Types
|
497 |
-
4. Category Mapping
|
498 |
-
|
499 |
-
== Changelog ==
|
500 |
-
|
501 |
-
= 4.3.60 (2021-04-04) =
|
502 |
-
* Added: Compatibility for Pricing Deals for WooCommerce by Vark.
|
503 |
-
|
504 |
-
= 4.3.59 (2021-04-02) =
|
505 |
-
* Tweak: Custom Template without cdata and XML UTF-8 encoding for XML element string.
|
506 |
-
|
507 |
-
= 4.3.58 (2021-04-01) =
|
508 |
-
* Fixed: Conflict with XT WooCommerce Variation Swatches plugin has been solved.
|
509 |
-
|
510 |
-
= 4.3.57 (2021-03-31) =
|
511 |
-
* Fixed: TAB delimiter missing issue solved.
|
512 |
-
* Fixed: FeedType change make wrong delimiter selected issue has been solved.
|
513 |
-
|
514 |
-
= 4.3.56 (2021-03-29) =
|
515 |
-
* Added: Compatibility for Discount Plugin by Orion has been added.
|
516 |
-
|
517 |
-
= 4.3.55 (2021-03-28) =
|
518 |
-
* Added: Addtocart in cart & product page added and removed ajax addtocart event.
|
519 |
-
|
520 |
-
= 4.3.54 (2021-03-25) =
|
521 |
-
* Added: Compatibility for Dynamic Pricing With Discount Rules by Acowebs.
|
522 |
-
* Fixed: Pattern label updated.
|
523 |
-
|
524 |
-
= 4.3.53 (2021-03-24) =
|
525 |
-
* Added: Custom fields feature, custom fields should be found in the dropdown list.
|
526 |
-
* Added: Taxonomies feature, taxonomies should be found in the dropdown list.
|
527 |
-
|
528 |
-
= 4.3.52 (2021-03-22) =
|
529 |
-
* Added: Compatibility for Discount Rules for WooCommerce by Flycart.
|
530 |
-
|
531 |
-
= 4.3.51 (2021-03-18) =
|
532 |
-
* Fixed: Onchange feedType to csv and txt, delimiter and enclosure doesn't show is solved.
|
533 |
-
|
534 |
-
= 4.3.50 (2021-03-17) =
|
535 |
-
* Tweak: WordPress 5.7 compatibility tested.
|
536 |
-
* Fixed: Bundled product not appearing issue solved.
|
537 |
-
* Fixed: Undefined current_price issue solved.
|
538 |
-
|
539 |
-
= 4.3.49 (2021-03-16) =
|
540 |
-
* Added: Compatibility for WooCommerce Bundled Products by Iconic.
|
541 |
-
|
542 |
-
= 4.3.48 (2021-03-15) =
|
543 |
-
* Fixed: PHP 7.4+ compatibility tested.
|
544 |
-
* Fixed: Temporary codes removed.
|
545 |
-
|
546 |
-
= 4.3.47 (2021-03-14) =
|
547 |
-
* Added: Product full category path attribute added.
|
548 |
-
* Fixed: Product local category label updated to product category.
|
549 |
-
|
550 |
-
= 4.3.46 (2021-03-11) =
|
551 |
-
* Fixed: Facebook pixel issue solved.
|
552 |
-
|
553 |
-
= 4.3.45 (2021-03-10) =
|
554 |
-
* Fixed: Modify modalova template attributes.
|
555 |
-
|
556 |
-
= 4.3.44 (2021-03-09) =
|
557 |
-
* Added: Modalova template added.
|
558 |
-
|
559 |
-
= 4.3.43 (2021-03-08) =
|
560 |
-
* Tweak: Enhancement performance.
|
561 |
-
* Fixed: Cleaned junk files.
|
562 |
-
|
563 |
-
= 4.3.42 (2021-03-07) =
|
564 |
-
* Fixed: Undefined index feed_country issue has been solved.
|
565 |
-
|
566 |
-
= 4.3.41 (2021-03-03) =
|
567 |
-
* Tweak: Tested WordPress 5.7 compatibility.
|
568 |
-
|
569 |
-
= 4.3.40 (2021-03-03) =
|
570 |
-
* Tweak: WC_Query as default product feed query.
|
571 |
-
* Fixed: Feed attribute change issue fixed.
|
572 |
-
|
573 |
-
= 4.3.39 (2021-03-02) =
|
574 |
-
* Added: Added filter for all product attributes.
|
575 |
-
|
576 |
-
= 4.3.38 (2021-02-28) =
|
577 |
-
* Tweak: Rakuten.de template updated.
|
578 |
-
|
579 |
-
= 4.3.37 (2021-02-25) =
|
580 |
-
* Fixed: Status page product count issue fixed.
|
581 |
-
|
582 |
-
= 4.3.36 (2021-02-24) =
|
583 |
-
* Added: Additional images in google and facebook default attributes list has been added.
|
584 |
-
|
585 |
-
= 4.3.35 (2021-02-22) =
|
586 |
-
* Added: Click button to copy status in status page has been added.
|
587 |
-
|
588 |
-
= 4.3.34 (2021-02-18) =
|
589 |
-
* Added: Wine Searcher template added.
|
590 |
-
|
591 |
-
= 4.3.33 (2021-02-17) =
|
592 |
-
* Added: WP options feature added where wordpress built-in options can be set from the WP Options page and can be found in the product attribute dropdown list.
|
593 |
-
* Added: Product custom attributes in product attribute dropdown list.
|
594 |
-
|
595 |
-
= 4.3.32 (2021-02-16) =
|
596 |
-
* Added: Auto exclude url addition for caching plugins.
|
597 |
-
|
598 |
-
= 4.3.31 (2021-02-14) =
|
599 |
-
* Added: Woo Feed to new name CTX Feed.
|
600 |
-
* Added: Status page new look with all product counter.
|
601 |
-
|
602 |
-
= 4.3.30 (2021-02-11) =
|
603 |
-
* Added: WooCommerce latest version(5.0.0) compatibility.
|
604 |
-
* Tweak: Updated doc links.
|
605 |
-
* Tweak: Updated topbar links.
|
606 |
-
|
607 |
-
= 4.3.29 (2021-02-10) =
|
608 |
-
* Added: Open feed file button in edit feed page.
|
609 |
-
|
610 |
-
= 4.3.28 (2021-02-07) =
|
611 |
-
* Fixed: GTIN/MPN/EAN disabled hide inputs at edit product page.
|
612 |
-
|
613 |
-
= 4.3.27 (2021-02-03) =
|
614 |
-
* Fixed: Input request issues fixed.
|
615 |
-
|
616 |
-
= 4.3.26 (2021-02-03) =
|
617 |
-
* Added: WooCommerce latest version(4.9) compatibility.
|
618 |
-
* Fixed: Performance enhancement.
|
619 |
-
* Fixed: Junk cleaned.
|
620 |
-
|
621 |
-
= 4.3.25 (2021-02-01) =
|
622 |
-
* Added: Date format in output type.
|
623 |
-
|
624 |
-
= 4.3.23 (2021-01-28) =
|
625 |
-
* Fixed: Class Woo_Feed_Log_Handler_File not exist solved.
|
626 |
-
|
627 |
-
= 4.3.22 (2021-01-26) =
|
628 |
-
* Added: Snapchat template added.
|
629 |
-
|
630 |
-
= 4.3.21 (2021-01-21) =
|
631 |
-
* Added: Output type Rounded price added.
|
632 |
-
|
633 |
-
= 4.3.20 (2021-01-19) =
|
634 |
-
* Fixed: Idealo article number default attribute to product id.
|
635 |
-
|
636 |
-
= 4.3.19 (2021-01-18) =
|
637 |
-
* Fixed: Uncaught error get_title issue solved.
|
638 |
-
|
639 |
-
= 4.3.18 (2021-01-12) =
|
640 |
-
* Tweak: Removing cache during plugin deactivation.
|
641 |
-
* Tweak: Attribute positioning for yoast, rankmath, all in one seo plugin.
|
642 |
-
|
643 |
-
= 4.3.17 (2021-01-11) =
|
644 |
-
* Fixed: Google local and inventory g prefix issue solved.
|
645 |
-
* Fixed: Edit page file type change issue solved.
|
646 |
-
* Tweak: Idealo shipping_cost value as default.
|
647 |
-
|
648 |
-
= 4.3.16 (2021-01-10) =
|
649 |
-
* Added: Dynamic shipping and tax for Google, Facebook, Pinterest, Snapchat feed.
|
650 |
-
* Added: Shipping cost attributes.
|
651 |
-
|
652 |
-
= 4.3.15 (2020-12-29) =
|
653 |
-
* Fixed: Facebook pixel event issue solved.
|
654 |
-
|
655 |
-
= 4.3.14 (2020-12-28) =
|
656 |
-
* Fixed: Edit page file type issue.
|
657 |
-
* Fixed: Facebook pixel price fatal error.
|
658 |
-
|
659 |
-
= 4.3.13 (2020-12-27) =
|
660 |
-
* Added: Parent Title, Parent URL, Add to cart link, SKU Id attribute.
|
661 |
-
* Fixed: Category exclude issue solved.
|
662 |
-
|
663 |
-
= 4.3.12 (2020-12-24) =
|
664 |
-
* Added: Debug feed file form in status page.
|
665 |
-
* Fixed: Image url fatal error solved.
|
666 |
-
* Fixed: Uncaught WC_Logger class error solved.
|
667 |
-
* Fixed: Fixed product ID error issue.
|
668 |
-
|
669 |
-
= 4.3.11 (2020-12-23) =
|
670 |
-
* Added: Google shipping, identifier, tax attribute rule.
|
671 |
-
* Added: Bing shipping, identifier, tax attribute rule.
|
672 |
-
* Added: Pinterest ads_link attribute.
|
673 |
-
|
674 |
-
= 4.3.10 (2020-12-22) =
|
675 |
-
* Fixed: Brand disable/enable option.
|
676 |
-
|
677 |
-
= 4.3.9 (2020-12-20) =
|
678 |
-
* Added: Google Dynamic Search Ads Template.
|
679 |
-
* Added: Pinterest RSS board feed template.
|
680 |
-
* Fixed: Product list table breaking issue
|
681 |
-
* Fixed: Complete registration missing parameters for facebook pixel.
|
682 |
-
|
683 |
-
= 4.3.8 (2020-12-19) =
|
684 |
-
* Added : Google Promotions Template.
|
685 |
-
* Added : Bing Local Inventory Template.
|
686 |
-
* Added : Facebook Pixel event tracking.
|
687 |
-
|
688 |
-
= 4.3.7 (2020-12-15) =
|
689 |
-
* Tweak : Bing template attributes managed.
|
690 |
-
|
691 |
-
= 4.3.6 (2020-12-14) =
|
692 |
-
* Tweak : Google local inventory ads attributes managed.
|
693 |
-
* Tweak : Google local product inventory attributes managed.
|
694 |
-
* Tweak : Facebook attributes source updated.
|
695 |
-
|
696 |
-
= 4.3.5 (2020-12-13) =
|
697 |
-
* Tweak : Canonical link as default attribute for google.
|
698 |
-
|
699 |
-
= 4.3.4 (2020-12-10) =
|
700 |
-
* Fix : Variation products attribute as parent not coming solved.
|
701 |
-
* Tweak : Switch and update buttons new look.
|
702 |
-
|
703 |
-
= 4.3.3 (2020-12-09) =
|
704 |
-
* Fix : Import popup causes broken design solved.
|
705 |
-
|
706 |
-
= 4.3.2 (2020-12-08) =
|
707 |
-
* Tweak : Idealo delivery time, shopping cost comment updated.
|
708 |
-
* Fix : Jquery load function undefined issue solved.
|
709 |
-
|
710 |
-
= 4.3.1 (2020-12-03) =
|
711 |
-
* Tweak : Import file popup new look.
|
712 |
-
* Tweak : Bulk apply button new look.
|
713 |
-
|
714 |
-
= 4.3.0 (2020-12-02) =
|
715 |
-
* Fixed : PHP older version undefined aray_key_first solved.
|
716 |
-
|
717 |
-
= 4.2.9 (2020-11-29) =
|
718 |
-
* Added : Fashionchick.nl template.
|
719 |
-
|
720 |
-
= 4.2.8 (2020-11-26) =
|
721 |
-
* Added : Catch.com.au template.
|
722 |
-
|
723 |
-
= 4.2.7 (2020-11-25) =
|
724 |
-
* Added : Status page.
|
725 |
-
* Added : Top black banner.
|
726 |
-
|
727 |
-
= 4.2.6 (2020-11-24) =
|
728 |
-
* Version bump : Checked compatibility with WordPress 5.6.
|
729 |
-
* Version bump : Checked compatibility with WooCommerce 4.7.
|
730 |
-
|
731 |
-
= 4.2.5 (2020-11-23) =
|
732 |
-
* Added : Canonical URL in feed for rank math seo plugin.
|
733 |
-
|
734 |
-
= 4.2.4 (2020-11-22) =
|
735 |
-
* Added : Rank Math SEO plugin support.
|
736 |
-
|
737 |
-
= 4.2.2 (2020-11-19) =
|
738 |
-
* Tweak : Performance enhancement.
|
739 |
-
* Fix: Spacing issue solved.
|
740 |
-
|
741 |
-
= 4.2.1 (2020-11-18) =
|
742 |
-
* Fix: Local template attribute for google.
|
743 |
-
* Fix: Local inventory template attribute for google.
|
744 |
-
|
745 |
-
= 4.2.0 (2020-11-16) =
|
746 |
-
* Tweak: Update interval button new look.
|
747 |
-
* Tweak: Clear cache button new look.
|
748 |
-
|
749 |
-
= 4.1.9 (2020-11-15) =
|
750 |
-
* Tweak: Local product inventory template updated.
|
751 |
-
* Fix: Local product csv template.
|
752 |
-
|
753 |
-
= 4.1.8 (2020-11-11) =
|
754 |
-
* Tweak: Striping title, description, short description.
|
755 |
-
* Fix: Fatal error for saveCSVFile.
|
756 |
-
|
757 |
-
= 4.1.7 (2020-11-11) =
|
758 |
-
* Added: TSV file support.
|
759 |
-
* Added: XLS file support.
|
760 |
-
|
761 |
-
= 4.1.6 (2020-11-09) =
|
762 |
-
* Tweak: Google local template update.
|
763 |
-
|
764 |
-
= 4.1.5 (2020-11-08) =
|
765 |
-
* Fix: Bing template as txt format.
|
766 |
-
|
767 |
-
= 4.1.4 (2020-11-05) =
|
768 |
-
* Fix: Unslush link solved.
|
769 |
-
* Fix: Removed whitespaces.
|
770 |
-
|
771 |
-
= 4.1.3 (2020-11-03) =
|
772 |
-
* Tweak: Google shopping action feed structure.
|
773 |
-
|
774 |
-
= 4.1.2 (2020-11-01) =
|
775 |
-
* Fix: Code enhancement.
|
776 |
-
* Tweak: Performance increased.
|
777 |
-
|
778 |
-
= 4.1.1 (2020-10-29) =
|
779 |
-
* Tweak: Progressbar new look.
|
780 |
-
|
781 |
-
= 4.1.0 (2020-10-26) =
|
782 |
-
* Fix: Switcher activation issue.
|
783 |
-
|
784 |
-
= 4.0.9 (2020-10-22) =
|
785 |
-
* Fix: Helper functions error solved.
|
786 |
-
* Tweak: Performance enhancement.
|
787 |
-
|
788 |
-
= 4.0.8 (2020-10-21) =
|
789 |
-
* Fix: Bing shipping default value from shipping class.
|
790 |
-
|
791 |
-
= 4.0.7 (2020-10-20) =
|
792 |
-
* Fix: Bing template as csv format.
|
793 |
-
|
794 |
-
= 4.0.6 (2020-10-18) =
|
795 |
-
* Fix: Admin and translation bug fixed.
|
796 |
-
|
797 |
-
= 4.0.5 (2020-10-15) =
|
798 |
-
* Tweak: Admin action link style updated.
|
799 |
-
|
800 |
-
= 4.0.4 (2020-10-14) =
|
801 |
-
* Fix: Performance enhancement.
|
802 |
-
* Fix: Admin page code refactor.
|
803 |
-
|
804 |
-
= 4.0.3 (2020-10-13) =
|
805 |
-
* Tweak: Make feed button new look.
|
806 |
-
|
807 |
-
= 4.0.1 (2020-10-12) =
|
808 |
-
* Fix: Edit page fatal error.
|
809 |
-
|
810 |
-
= 4.0.0 (2020-10-11) =
|
811 |
-
* Fix: Code Refactor.
|
812 |
-
|
813 |
-
= 3.9.9 (2020-10-08) =
|
814 |
-
* Added: Zbozi.cz template.
|
815 |
-
* Tweak: Documentation link updated.
|
816 |
-
|
817 |
-
= 3.9.7 (2020-10-08) =
|
818 |
-
* Fix: item wrapper input not showing in edit page.
|
819 |
-
|
820 |
-
= 3.9.6 (2020-10-07) =
|
821 |
-
* Tweak: Heureka and Moebel missing files added.
|
822 |
-
|
823 |
-
= 3.9.5 (2020-10-06) =
|
824 |
-
* Tweak: Feed list table new look.
|
825 |
-
|
826 |
-
= 3.9.3 (2020-10-05) =
|
827 |
-
* Tweak: Feed switch new design.
|
828 |
-
* Added: Plugin version in feed list.
|
829 |
-
|
830 |
-
= 3.9.2 (2020-10-04) =
|
831 |
-
* Tweak: Feed list topbar new look.
|
832 |
-
|
833 |
-
= 3.9.1 (2020-10-01) =
|
834 |
-
* Added: Plugin version in setting page.
|
835 |
-
|
836 |
-
= 3.9.0 (2020-09-30) =
|
837 |
-
* Added: The Moebel.de template.
|
838 |
-
|
839 |
-
= 3.8.9 (2020-09-29) =
|
840 |
-
* Added: The Heureka Slovakia template.
|
841 |
-
|
842 |
-
= 3.8.7 (2020-09-28) =
|
843 |
-
* Added: `Child Category` and `Child Category id` option to feed.
|
844 |
-
* Tweak: Profit share template new structure.
|
845 |
-
|
846 |
-
= 3.8.6 (2020-09-27) =
|
847 |
-
* Tweak: Action button's label styling.
|
848 |
-
|
849 |
-
= 3.8.5 (2020-09-24) =
|
850 |
-
* Added: Clear cache button to feed pages.
|
851 |
-
|
852 |
-
= 3.8.3 (2020-09-23) =
|
853 |
-
* Fix: Cron scheduled back date issue.
|
854 |
-
|
855 |
-
= 3.8.1 (2020-09-22) =
|
856 |
-
* Tweak: Added `WPC product bundles` plugin support.
|
857 |
-
|
858 |
-
= 3.8.0 (2020-09-21) =
|
859 |
-
* Fix: remove visual composer old short codes.
|
860 |
-
* Tweak: short product ids in descending order into feed.
|
861 |
-
|
862 |
-
= 3.7.20 (2020-09-17) =
|
863 |
-
* Fix: availability will return `preorder` for on backorder into Google Merchant and Pinterest template.
|
864 |
-
* Fix: availability will return `available for order` for on backorder into Facebook template.
|
865 |
-
|
866 |
-
= 3.7.19 (2020-09-16) =
|
867 |
-
* Tweak: itemid renamed to id for google local product inventory template.
|
868 |
-
|
869 |
-
= 3.7.18 (2020-09-15) =
|
870 |
-
* Tweak: Strip old Visual Composer shortcodes from product description.
|
871 |
-
* Tweak: Setting page save button alignment fix.
|
872 |
-
|
873 |
-
= 3.7.17 (2020-09-14) =
|
874 |
-
* Tweak: Feed last updated time will show wordpress local time.
|
875 |
-
|
876 |
-
= 3.7.16 (2020-09-13) =
|
877 |
-
* Added: Custom fields for unique identifier (GTIN,MPN,EAN) added to product edit page.
|
878 |
-
|
879 |
-
= 3.7.15 (2020-09-09) =
|
880 |
-
* Tweak: stock status on backorder will be returned as out of stock for Google Shopping, Facebook and Pinterest template.
|
881 |
-
|
882 |
-
= 3.7.14 (2020-09-08) =
|
883 |
-
* Fix: Auto feed update not working issue fixed.
|
884 |
-
|
885 |
-
= 3.7.13 (2020-09-05) =
|
886 |
-
* Fix: Feed file was renamed while feed name changing.
|
887 |
-
|
888 |
-
= 3.7.12 (2020-09-03) =
|
889 |
-
* Added: ProfitShare template added.
|
890 |
-
|
891 |
-
= 3.7.11 (2020-09-02) =
|
892 |
-
* Added: Individual scheduled events added for each feed.
|
893 |
-
|
894 |
-
= 3.7.10 (2020-09-01) =
|
895 |
-
* Added: Parent Category Id attribute added.
|
896 |
-
|
897 |
-
= 3.7.9 (2020-08-31) =
|
898 |
-
* Added: Facebook inventory attribute added to Facebook catalog template as default.
|
899 |
-
|
900 |
-
= 3.7.8 (2020-08-28) =
|
901 |
-
* Added: Tweakers Pricewatch XML & CSV template added.
|
902 |
-
|
903 |
-
= 3.7.7 (2020-08-26) =
|
904 |
-
* Fix: Multiple additional_image_link attribute missing on Google Shopping template for CSV & TXT feed.
|
905 |
-
|
906 |
-
= 3.7.6 (2020-08-25) =
|
907 |
-
* Fix: XML Opening and Ending tag mismatch issue fixed.
|
908 |
-
|
909 |
-
= 3.7.5 (2020-08-24) =
|
910 |
-
* Tweak: do_shortcode() function applied to product title to filter shortcodes through their hooks.
|
911 |
-
|
912 |
-
= 3.7.4 (2020-08-22) =
|
913 |
-
* Fixed: Category mapping file missing issue fixed.
|
914 |
-
|
915 |
-
= 3.7.3 (2020-08-22) =
|
916 |
-
* Added: Category mapping feature added. Option to map store category with merchant category
|
917 |
-
|
918 |
-
= 3.7.2 (2020-08-20) =
|
919 |
-
* Fixed: g:additional_image_link attribute issue fixed.
|
920 |
-
|
921 |
-
= 3.7.1 (2020-08-19) =
|
922 |
-
* Added: sale_price added as default into Google Shopping product feed template.
|
923 |
-
* Fix: shopping_ads_excluded_country structure fixed into Google Shopping product feed template.
|
924 |
-
|
925 |
-
= 3.7.0 (2020-08-18) =
|
926 |
-
* Added: Below attributes are added to google shopping template.
|
927 |
-
* min_energy_efficiency_class
|
928 |
-
* max_energy_efficiency_class
|
929 |
-
* ads_redirect
|
930 |
-
* shopping_ads_excluded_country
|
931 |
-
|
932 |
-
|
933 |
-
= 3.6.20 (2020-08-17) =
|
934 |
-
* Added: canonical_link attribute added to google shopping template.
|
935 |
-
|
936 |
-
= 3.6.19 (2020-08-17) =
|
937 |
-
* Tweak: WordPress 5.5 compatibility checked.
|
938 |
-
* Tweak: API Library updated.
|
939 |
-
|
940 |
-
= 3.6.18 (2020-08-15) =
|
941 |
-
* Fix: Tax Class & Tax Status Product attribute added.
|
942 |
-
|
943 |
-
= 3.6.17 (2020-08-13) =
|
944 |
-
* Fix: Product missing issue fixed.
|
945 |
-
|
946 |
-
= 3.6.16 (2020-08-10) =
|
947 |
-
* Added: Google product_details attribute added to Google Shopping template.
|
948 |
-
|
949 |
-
= 3.6.15 (2020-08-03) =
|
950 |
-
* Added: Google product highlight attribute added to Google Shopping template.
|
951 |
-
|
952 |
-
= 3.6.14 (2020-07-25) =
|
953 |
-
* Added: Etsy template added.
|
954 |
-
* Tweak: Pricerunner stock status will return Yes or No instead of in stock or out of stock.
|
955 |
-
|
956 |
-
= 3.6.13 (2020-07-20) =
|
957 |
-
* Added: Zalando template added.
|
958 |
-
|
959 |
-
= 3.6.12 (2020-07-13) =
|
960 |
-
* Tweak: WC 4.3 compatibility checked.
|
961 |
-
|
962 |
-
= 3.6.11 (2020-07-09) =
|
963 |
-
* Added: YITH Bundle Product compatibility added.
|
964 |
-
|
965 |
-
= 3.6.10 (2020-06-30) =
|
966 |
-
* Added: Shopee template added.
|
967 |
-
|
968 |
-
= 3.6.9 (2020-06-29) =
|
969 |
-
* Added: WooCommerce Bundle Product compatibility.
|
970 |
-
|
971 |
-
= 3.6.8 (2020-06-24) =
|
972 |
-
* Added: Google Shopping subscription_cost attribute added.
|
973 |
-
* Added: Subscription amount attribute added for WooCommerce Subscription.
|
974 |
-
|
975 |
-
= 3.6.7 (2020-06-23) =
|
976 |
-
* Added: Subscription period interval attribute added for WooCommerce Subscription.
|
977 |
-
|
978 |
-
= 3.6.6 (2020-06-18) =
|
979 |
-
* Added: WooCommerce Subscription product compatibility added.
|
980 |
-
|
981 |
-
= 3.6.5 (2020-06-13) =
|
982 |
-
* Added: FTP passive mode selection option added.
|
983 |
-
|
984 |
-
= 3.6.4 (2020-06-03) =
|
985 |
-
* Fixed: Yoast SEO Title (manually added title) issue fixed.
|
986 |
-
|
987 |
-
= 3.6.3 (2020-06-02) =
|
988 |
-
* Fixed: Yoast SEO Title issue fixed.
|
989 |
-
|
990 |
-
= 3.6.2 (2020-06-02) =
|
991 |
-
* Fixed: DB query timeout issue fixed.
|
992 |
-
|
993 |
-
= 3.6.1 (2020-05-28) =
|
994 |
-
* Fixed: Feed file rename issue fixed.
|
995 |
-
|
996 |
-
= 3.6.0 (2020-05-27) =
|
997 |
-
* Added: new output types added to format attribute output.
|
998 |
-
|
999 |
-
= 3.5.7 (2020-05-26) =
|
1000 |
-
* Added: Bestprice template added.
|
1001 |
-
|
1002 |
-
= 3.5.6 (2020-05-23) =
|
1003 |
-
* Fix: Skroutz template items wrapper and availability issue fixed.
|
1004 |
-
* Added: Dashboard widget.
|
1005 |
-
|
1006 |
-
= 3.5.5 (2020-05-18) =
|
1007 |
-
* Fix: Spartoo.fi Parent/Child attribute value now return child for variation and Parent for other product type instead of woocommerce product type.
|
1008 |
-
|
1009 |
-
= 3.5.4 (2020-05-14) =
|
1010 |
-
* Tweak: Plugin cache flashed after adding/updating a attribute.
|
1011 |
-
|
1012 |
-
= 3.5.3 (2020-05-12) =
|
1013 |
-
* Fix: Fruugo template NormalPriceWithoutVat attribute replaced with NormalPriceWithoutVAT
|
1014 |
-
|
1015 |
-
= 3.5.2 (2020-04-28) =
|
1016 |
-
* Fix: Tracking notice dismiss error fixed.
|
1017 |
-
* Fix: Minor php error fixed.
|
1018 |
-
|
1019 |
-
= 3.5.1 (2020-04-20) =
|
1020 |
-
* Fix: Review notice dismiss error fixed.
|
1021 |
-
|
1022 |
-
= 3.5.0 (2020-04-01) =
|
1023 |
-
* Template: Google Shopping Action Template
|
1024 |
-
* Template: Daisycon Feed Template (All 21 Standards)
|
1025 |
-
* Fix: Custom Template XML issue fixed.
|
1026 |
-
* Fix: Fixed PHPCS Recommended issue with proper coding standard and comments.
|
1027 |
-
* Improvement: Move all inline JavaScripts to .js file
|
1028 |
-
* Improvement: Caching with expiration and purge settings.
|
1029 |
-
* Improvement: Refactor and removed deprecated codes.
|
1030 |
-
* Improvement: JS & CSS Optimized. Minor UI Issues fixed.
|
1031 |
-
* Improvement: Sort Template List (Merchant Dropdown)
|
1032 |
-
* Feature: Debugging Option.
|
1033 |
-
* Feature: Import Export Feed Config.
|
1034 |
-
* Feature: Added Support for Main Category (With Support for Yoast SEO Primary Category).
|
1035 |
-
* Feature: Add support for Google Category For Supporting Merchant.
|
1036 |
-
|
1037 |
-
= 3.3.9 (2020-03-18) =
|
1038 |
-
* Fix: Replace space character with underscore (`_`).
|
1039 |
-
* Fix: Fix and optimize sortable table initialization.
|
1040 |
-
|
1041 |
-
= 3.3.8 (2020-03-16) =
|
1042 |
-
* Compatibility: Tested Upto WooCommerce 4.0
|
1043 |
-
* Improve: Cleanup and minify assets (CSS & JS)
|
1044 |
-
* Improve: Add nice ui dropdown for Output Type Select
|
1045 |
-
* Fix: Return empty (previously returning zero) value if sale price is 0
|
1046 |
-
* Fix: Support link on doc page
|
1047 |
-
* Fix: Default Output type for price attribute on Google, Facebook and Pinterest feed
|
1048 |
-
|
1049 |
-
= 3.3.4 (2020-03-10) =
|
1050 |
-
* Template: Separate template for Trovaprezzi.it
|
1051 |
-
* Fix: Dropdown on Facebook and Pinterest feed edit page.
|
1052 |
-
* Cleanup: Remove unused files
|
1053 |
-
* Improve: Performance improvement on merchant class
|
1054 |
-
* Improve: Add filters and context parameter with feed rules parsing.
|
1055 |
-
|
1056 |
-
= 3.3.3 (2020-03-04) =
|
1057 |
-
* Feature: Campaign URL Builder
|
1058 |
-
* Fix: Duplicate feed config on cron update.
|
1059 |
-
|
1060 |
-
= 3.3.2 (2020-02-23) =
|
1061 |
-
* Fix: Duplicate content in CSV feeds.
|
1062 |
-
|
1063 |
-
= 3.3.1 (2020-02-20) =
|
1064 |
-
* Fixed: function name conflict with Post SMTP plugin is solved
|
1065 |
-
|
1066 |
-
= 3.3.0 (2020-02-17) =
|
1067 |
-
* Improvement: Validate all source code using WPCS (PHPCS) to match WordPress coding standard.
|
1068 |
-
* Improvement: Sanitization and Nonce checking.
|
1069 |
-
* Performance: Implement WP Object Caching.
|
1070 |
-
* Feature: new filter hook API for adding custom attribute.
|
1071 |
-
* Fix: Tax calculation over cron job.
|
1072 |
-
|
1073 |
-
= 3.2.19 (2020-02-13) =
|
1074 |
-
* Fix JS not loading in all pages for hiding notices.
|
1075 |
-
|
1076 |
-
= 3.2.18 (2020-02-12) =
|
1077 |
-
* Fix User can't hide review and related notice.
|
1078 |
-
* Fix Some WPCS Related Warnings
|
1079 |
-
* Add ability to hide Product-Limit warning notice
|
1080 |
-
* String translation update.
|
1081 |
-
|
1082 |
-
= 3.2.17 (2020-02-09) =
|
1083 |
-
* Fix Tax calculation based on store address.
|
1084 |
-
* Localize JavaScript based Messages.
|
1085 |
-
|
1086 |
-
= 3.2.16 (2020-02-02) =
|
1087 |
-
* Tested upto current WordPress and WooCommerce
|
1088 |
-
* PHPCS config added and tested for WPCS Issues
|
1089 |
-
* Security Fix Using Nonce and sanitize User Inputs.
|
1090 |
-
* Update Support URL
|
1091 |
-
|
1092 |
-
= 3.2.15 (2020-01-23) =
|
1093 |
-
* Fix undefined index in cron callback
|
1094 |
-
|
1095 |
-
= 3.2.14 (2020-01-21) =
|
1096 |
-
* Dynamic Selectize for Google Taxonomy Dropdown
|
1097 |
-
* Fix Selectize UI
|
1098 |
-
* Fix Contact Us Button
|
1099 |
-
* Fix Menu Icon
|
1100 |
-
* Fix php undefined index notice
|
1101 |
-
* Improve Ajax Security
|
1102 |
-
|
1103 |
-
= 3.2.13 (2020-01-16) =
|
1104 |
-
* Fix Post Box issue
|
1105 |
-
* Update Service Library
|
1106 |
-
* fix text-domain
|
1107 |
-
|
1108 |
-
= 3.2.12 (2020-01-14) =
|
1109 |
-
* Service library update
|
1110 |
-
* Add Support Form Added
|
1111 |
-
|
1112 |
-
= 3.2.11 (2020-01-08) =
|
1113 |
-
* Fix logging class not found error.
|
1114 |
-
* Update Feed Save Message
|
1115 |
-
* Fix Save success message
|
1116 |
-
|
1117 |
-
= 3.2.10 (2020-01-07) =
|
1118 |
-
* New Hook added before and after product loop.
|
1119 |
-
* Sanitize ajax & optimize request for admin notices.
|
1120 |
-
* Admin Notice updated.
|
1121 |
-
|
1122 |
-
= 3.2.9 (2020-01-06) =
|
1123 |
-
* Fix Docs Page Postbox styles
|
1124 |
-
* Update Button UI
|
1125 |
-
|
1126 |
-
= 3.2.8 (2020-01-05) =
|
1127 |
-
* Remove `set_time_limit(0)` (disabled in some host).
|
1128 |
-
|
1129 |
-
= 3.2.7 (2020-01-02) =
|
1130 |
-
* Menu Icon Changed.
|
1131 |
-
* Update Feed Configuration without generating.
|
1132 |
-
* Fix Admin Notice UI.
|
1133 |
-
|
1134 |
-
= 3.2.6 (2019-12-25) =
|
1135 |
-
* New template structure implemented.
|
1136 |
-
* Merchant info metabox in feed template edit page.
|
1137 |
-
* Added support for metabox (postbox) minimize state in docs and template edit page.
|
1138 |
-
* Improve UI and fix typo.
|
1139 |
-
* Replace some static string with gettext function for better translation.
|
1140 |
-
* Update script dependency for using internal scripts provide by WordPress for better performance.
|
1141 |
-
|
1142 |
-
= 3.2.5 (2019-12-22) =
|
1143 |
-
* Update Service Library
|
1144 |
-
|
1145 |
-
= 3.2.4 (2019-12-19) =
|
1146 |
-
* Fix OptOut button URL
|
1147 |
-
* Filter hook added for notice message
|
1148 |
-
|
1149 |
-
= 3.2.3 (2019-12-17) =
|
1150 |
-
* Fix All-In-One-SEO Title and Description
|
1151 |
-
|
1152 |
-
= 3.2.2 (2019-12-15) =
|
1153 |
-
* Product query type settings added for compatibility.
|
1154 |
-
* Request sanitization.
|
1155 |
-
* Necessary SQL escaped.
|
1156 |
-
|
1157 |
-
= 3.2.1 (2019-12-12) =
|
1158 |
-
* XML element space replace with underscore issue fixed
|
1159 |
-
* Fix: Undefined index.
|
1160 |
-
* Trim output
|
1161 |
-
* Remove redundant codes
|
1162 |
-
|
1163 |
-
= 3.2.0 (2019-12-08) =
|
1164 |
-
* Tweak: Improved Performance.
|
1165 |
-
* stripslashes attribute output
|
1166 |
-
* Remove Duplicate values from attribute list
|
1167 |
-
* Fix Price with tax
|
1168 |
-
|
1169 |
-
= 3.1.55 (2019-11-28) =
|
1170 |
-
* Feed Config table ui update
|
1171 |
-
|
1172 |
-
= 3.1.54 (2019-11-27) =
|
1173 |
-
* Fix stock status
|
1174 |
-
|
1175 |
-
= 3.1.53 (2019-11-25) =
|
1176 |
-
* Promo Update
|
1177 |
-
|
1178 |
-
= 3.1.52 (2019-11-24) =
|
1179 |
-
* Fix: Hide google taxonomy dropdown if attribute selected
|
1180 |
-
* Fix: Autocomplete attribute value
|
1181 |
-
* Fix: PHP count() warning on feed edit page
|
1182 |
-
|
1183 |
-
= 3.1.51 (2019-11-21) =
|
1184 |
-
* Fix duplicate id cache
|
1185 |
-
* Tweak connecxity feed class
|
1186 |
-
|
1187 |
-
= 3.1.50 (2019-11-18) =
|
1188 |
-
* Added yandex_csv_add-feed.php,
|
1189 |
-
* Update tracker class,
|
1190 |
-
* Pageable filters added.
|
1191 |
-
* Update tested up to info.
|
1192 |
-
|
1193 |
-
= 3.1.49 (2019-11-12) =
|
1194 |
-
* Yandex CSV template added
|
1195 |
-
|
1196 |
-
= 3.1.48 (2019-11-09) =
|
1197 |
-
* Fixed: Woocommerce version compare issue
|
1198 |
-
* Fixed: Removed trim for prefix and suffix field
|
1199 |
-
* Fixed: Current Price issue fixed
|
1200 |
-
* Tweak: Status & View column name changed to Auto Update & Action accordingly into Feed List table
|
1201 |
-
* Tweak: Add auto space before suffix for price sale_price & current_price
|
1202 |
-
|
1203 |
-
= 3.1.47 (2019-11-07) =
|
1204 |
-
* Update remove unused cron from insight class
|
1205 |
-
* Fix insight cron hook
|
1206 |
-
* Changelog Typo Fix
|
1207 |
-
|
1208 |
-
= 3.1.46 (2019-11-06) =
|
1209 |
-
* Fix 'No Products found' while using 'Custom Template 2 (XML)'
|
1210 |
-
* Tested Up to WC 3.8
|
1211 |
-
|
1212 |
-
= 3.1.45 (2019-11-03) =
|
1213 |
-
* Loading ClipboardJS directly from plugin for older WordPress
|
1214 |
-
* Added WooCommerce minimum version checking before loading other dependencies
|
1215 |
-
* Fix support for WooCommerce older than 3.6.0
|
1216 |
-
|
1217 |
-
= 3.1.44 (2019-10-31) =
|
1218 |
-
* Remove Duplicate Css
|
1219 |
-
* Fix success message not showing
|
1220 |
-
* Fix PHP non-numeric value & counting null warning
|
1221 |
-
|
1222 |
-
= 3.1.43 (2019-10-27) =
|
1223 |
-
* Improve Page loading performance on feed editor
|
1224 |
-
* FTP Module detection added in `FTP/SFTP` tab in feed editor
|
1225 |
-
* Fix 3rd Party Plugin Compatibility
|
1226 |
-
|
1227 |
-
= 3.1.42 (2019-10-27) =
|
1228 |
-
* Fix deactivation script
|
1229 |
-
|
1230 |
-
= 3.1.41 (2019-10-24) =
|
1231 |
-
* Dependency & compatibility check upon activation
|
1232 |
-
* Tested with latest WordPress & WooCommerce Release
|
1233 |
-
|
1234 |
-
= 3.1.40 (2019-10-21) =
|
1235 |
-
* Fix error on fetching invalid child product of group product.
|
1236 |
-
* Fix google taxonomy not being selected on edit page
|
1237 |
-
* Remove unnecessary admin notices.
|
1238 |
-
|
1239 |
-
= 3.1.39 (2019-10-20) =
|
1240 |
-
* Adds plugin assets (was missing), sorry :)
|
1241 |
-
* UI Fix.
|
1242 |
-
|
1243 |
-
= 3.1.38 (2019-10-20) =
|
1244 |
-
* Docs page ui fix
|
1245 |
-
* Update Plugin Meta links
|
1246 |
-
|
1247 |
-
= 3.1.37 (2019-10-17) =
|
1248 |
-
* UI improvement
|
1249 |
-
* Improve script dependency management
|
1250 |
-
|
1251 |
-
= 3.1.36 (2019-10-14) =
|
1252 |
-
* Documentation Menu Added
|
1253 |
-
|
1254 |
-
= 3.1.35 (2019-10-10) =
|
1255 |
-
* remove echo used with _e()
|
1256 |
-
* fix generating new db entry on update feed config
|
1257 |
-
* fix duplicate id on save/update button
|
1258 |
-
|
1259 |
-
= 3.1.34 (2019-10-9) =
|
1260 |
-
* Resolve duplicate filename conflict.
|
1261 |
-
* Fix undefined variable.
|
1262 |
-
* Check if function exists before declaration (Resolve error on Pro Version activation.
|
1263 |
-
|
1264 |
-
= 3.1.33 (2019-10-7) =
|
1265 |
-
* Add copy to clip board
|
1266 |
-
* Fix performance issue on feed add/edit screen
|
1267 |
-
|
1268 |
-
= 3.1.32 (2019-10-6) =
|
1269 |
-
* Fix parent sku not getting populated in feed data
|
1270 |
-
* Set feed type to CSV for Pinterest
|
1271 |
-
|
1272 |
-
= 3.1.31 (2019-10-3) =
|
1273 |
-
* Strip divi builder shortcode from product description and short-description.
|
1274 |
-
* Delete old feed file before regenerate.
|
1275 |
-
|
1276 |
-
= 3.1.30 (2019-10-2) =
|
1277 |
-
* Fix Feed doesn't include last product variation
|
1278 |
-
|
1279 |
-
= 3.1.29(2019-09-30) =
|
1280 |
-
* Update Google Taxonomy list at the latest.
|
1281 |
-
* Add Google Taxonomy in facebook and pinterest template.
|
1282 |
-
* Google Taxonomy chooser directly in Feed Config without any popup.
|
1283 |
-
* Optimize JavaScript.
|
1284 |
-
|
1285 |
-
= 3.1.28(2019-09-26) =
|
1286 |
-
* Fix Google Taxonomy Popup with jquery sortable plugin.
|
1287 |
-
* Fix row become invisible while dragging.
|
1288 |
-
|
1289 |
-
= 3.1.27(2019-09-11) =
|
1290 |
-
* Added: criteo template added
|
1291 |
-
|
1292 |
-
= 3.1.26(2019-09-11) =
|
1293 |
-
* Added: google attribute dropdown issue solved
|
1294 |
-
|
1295 |
-
= 3.1.25(2019-09-09) =
|
1296 |
-
* Added: fyndiq.se template added
|
1297 |
-
|
1298 |
-
= 3.1.24(2019-09-03) =
|
1299 |
-
* Added: miinto.nl template added
|
1300 |
-
|
1301 |
-
= 3.1.23(2019-08-28) =
|
1302 |
-
* Added: fnac.fr template added
|
1303 |
-
|
1304 |
-
= 3.1.22(2019-08-25) =
|
1305 |
-
* Added: missing template files added
|
1306 |
-
|
1307 |
-
= 3.1.21(2019-08-20) =
|
1308 |
-
* Added: vertaa.fi template added
|
1309 |
-
|
1310 |
-
= 3.1.20(2019-08-19) =
|
1311 |
-
* Added: fashiola template added
|
1312 |
-
|
1313 |
-
= 3.1.19(2019-08-08) =
|
1314 |
-
* Added: walmart template added
|
1315 |
-
|
1316 |
-
= 3.1.18(2019-08-05) =
|
1317 |
-
* Added: webmarchand template added
|
1318 |
-
|
1319 |
-
= 3.1.17(2019-07-29) =
|
1320 |
-
* Fixed: feed files permission issue fixed
|
1321 |
-
|
1322 |
-
= 3.1.16(2019-07-25) =
|
1323 |
-
* Fixed: google_attributes option issue fixed
|
1324 |
-
|
1325 |
-
= 3.1.15(2019-07-24) =
|
1326 |
-
* Fixed: Cross-site scripting (XSS) vulnerability issue resolved
|
1327 |
-
|
1328 |
-
= 3.1.14(2019-07-23) =
|
1329 |
-
* Added: modina.de template added
|
1330 |
-
|
1331 |
-
= 3.1.13(2019-07-22) =
|
1332 |
-
* Modified: spartoo.fi template modified
|
1333 |
-
|
1334 |
-
= 3.1.12(2019-07-18) =
|
1335 |
-
* Added: shareasale template added
|
1336 |
-
|
1337 |
-
= 3.1.11(2019-07-17) =
|
1338 |
-
* Added: spartoo.fi template added
|
1339 |
-
|
1340 |
-
= 3.1.10(2019-07-15) =
|
1341 |
-
* Fixed: google template slowly loading issue fixed
|
1342 |
-
|
1343 |
-
= 3.1.9(2019-07-11) =
|
1344 |
-
* Added: shopalike.fr template added
|
1345 |
-
|
1346 |
-
= 3.1.8(2019-07-08) =
|
1347 |
-
* Fixed: pinterest csv feed attribute underscore issue fixed
|
1348 |
-
|
1349 |
-
= 3.1.7(2019-07-07) =
|
1350 |
-
* Added: strip tags set as default in the Output Type of kijiji.ca template
|
1351 |
-
|
1352 |
-
= 3.1.6(2019-07-05) =
|
1353 |
-
* Added: kijiji.ca template added
|
1354 |
-
|
1355 |
-
= 3.1.5(2019-07-03) =
|
1356 |
-
* Added: kieskeurig.nl template added
|
1357 |
-
|
1358 |
-
= 3.1.4(2019-06-30) =
|
1359 |
-
* Added: incurvy template added
|
1360 |
-
|
1361 |
-
= 3.1.3(2019-06-27) =
|
1362 |
-
* Added: CDiscount.fr template added
|
1363 |
-
|
1364 |
-
= 3.1.2(2019-06-26) =
|
1365 |
-
* Fixed: Auto input field populate issue into feed making and edit page has fixed
|
1366 |
-
|
1367 |
-
= 3.1.1(2019-06-25) =
|
1368 |
-
* Added: marktplaats.nl template added
|
1369 |
-
|
1370 |
-
= 3.1.0(2019-06-24) =
|
1371 |
-
* Fixed: Pinterest csv feed issue fixed
|
1372 |
-
|
1373 |
-
= 3.0.40(2019-06-21) =
|
1374 |
-
* Fixed: Make Feed view issue fixed
|
1375 |
-
|
1376 |
-
= 3.0.39(2019-06-20) =
|
1377 |
-
* Fixed: Prefix & suffix with empty value and stripslash issue fixed
|
1378 |
-
* Added: Override attribute added for facebook template
|
1379 |
-
|
1380 |
-
= 3.0.38(2019-06-18) =
|
1381 |
-
* Added: Vergelijk.be & Comparer.be template added
|
1382 |
-
|
1383 |
-
= 3.0.37(2019-06-10) =
|
1384 |
-
* Added: Rakuten template added
|
1385 |
-
|
1386 |
-
= 3.0.36(2019-06-03) =
|
1387 |
-
* Tweak: Beslist.nl template modified
|
1388 |
-
|
1389 |
-
= 3.0.35(2019-05-29) =
|
1390 |
-
* Tweak: CrowdFox template modified
|
1391 |
-
|
1392 |
-
= 3.0.34(2019-05-23) =
|
1393 |
-
* Fixed: Product attribute empty space issue fixed
|
1394 |
-
|
1395 |
-
= 3.0.33(2019-05-21) =
|
1396 |
-
* Fixed: Empty global attribute value for wc3.6 fixed.
|
1397 |
-
|
1398 |
-
= 3.0.32(2019-05-16) =
|
1399 |
-
* Shipping Cost Comment attribute added for idealo template
|
1400 |
-
|
1401 |
-
= 3.0.31(2019-05-13) =
|
1402 |
-
* Added: billiger.de template added
|
1403 |
-
|
1404 |
-
= 3.0.30(2019-05-08) =
|
1405 |
-
* Added: tax_country,tax_region,tax_rate,tax_ship attribute added.
|
1406 |
-
* Tweak: tax attribute deleted.
|
1407 |
-
|
1408 |
-
= 3.0.29(2019-05-06) =
|
1409 |
-
* Added: Idealo template added
|
1410 |
-
|
1411 |
-
= 3.0.28(2019-04-30) =
|
1412 |
-
* Tweak: Feed template folder structure change to reduce plugin size
|
1413 |
-
|
1414 |
-
= 3.0.27(2019-04-30) =
|
1415 |
-
* Added: Hintaseuranta.fi template added
|
1416 |
-
|
1417 |
-
= 3.0.26(2019-04-29) =
|
1418 |
-
* Added: SkinFlint.co.uk template added
|
1419 |
-
* WordPress 5.2 compatibility checked
|
1420 |
-
* WooCommerce 3.6 compatibility checked
|
1421 |
-
|
1422 |
-
= 3.0.25(2019-04-26) =
|
1423 |
-
* Added: TheNextAd template added
|
1424 |
-
|
1425 |
-
= 3.0.24(2019-04-25) =
|
1426 |
-
* Fixed: cost_of_good_sold attribute issue fixed for Google & Facebook template
|
1427 |
-
* Added: tax_category attribute added for Facebook template
|
1428 |
-
|
1429 |
-
= 3.0.23(2019-04-24) =
|
1430 |
-
* Added: Yahoo NFA template added
|
1431 |
-
|
1432 |
-
= 3.0.22(2019-04-22) =
|
1433 |
-
* Added: Stylight template added
|
1434 |
-
* Added: Google & Facebook template will auto add currency code as suffix for price attribute
|
1435 |
-
|
1436 |
-
= 3.0.21(2019-04-18) =
|
1437 |
-
* Added: Smartly.io template added
|
1438 |
-
|
1439 |
-
= 3.0.20(2019-04-16) =
|
1440 |
-
* Fixed: Myshopping.com.au XML Category tag issue fixed
|
1441 |
-
* Fixed: Myshopping.com.au recommended attributes added
|
1442 |
-
|
1443 |
-
= 3.0.19(2019-04-14) =
|
1444 |
-
* Added: MyShopping.com.au template added
|
1445 |
-
|
1446 |
-
= 3.0.18(2019-04-11) =
|
1447 |
-
* Added: Pinterest template added
|
1448 |
-
|
1449 |
-
= 3.0.17(2019-04-10) =
|
1450 |
-
* Fixed: Template UI loading conflict with popup builder plugin
|
1451 |
-
|
1452 |
-
= 3.0.16(2019-04-08) =
|
1453 |
-
* Added: fruugoaustralia.com template added
|
1454 |
-
* Fixed: fruugo.com template updated
|
1455 |
-
|
1456 |
-
= 3.0.15(2019-04-04) =
|
1457 |
-
* Fixed: Zap.co.il template header issue fixed
|
1458 |
-
|
1459 |
-
= 3.0.14(2019-04-01) =
|
1460 |
-
* Added: Zap.co.il template added
|
1461 |
-
|
1462 |
-
= 3.0.13(2019-03-28) =
|
1463 |
-
* Added: Google Local Product template added
|
1464 |
-
|
1465 |
-
= 3.0.12(2019-03-22) =
|
1466 |
-
* Fixed: minor security bugs
|
1467 |
-
|
1468 |
-
= 3.0.11(2019-03-21) =
|
1469 |
-
* Fixed: facebook variation description issue fixed
|
1470 |
-
|
1471 |
-
= 3.0.10(2019-03-18) =
|
1472 |
-
* Fixed: product tags issue fixed
|
1473 |
-
* Added: new Google Merchant attributes added
|
1474 |
-
|
1475 |
-
= 3.0.9(2019-03-15) =
|
1476 |
-
* Added: Current Price attribute added. Current Price attribute will return sale price if sale price available else it will return regular price.
|
1477 |
-
* WooCommerce v3.5+ compatibility checked
|
1478 |
-
|
1479 |
-
= 3.0.8(2019-03-12) =
|
1480 |
-
* Added: Facebook template will contain product variations but it will add variation info at the end of the product description so that facebook can not reject variation which do not have short description.
|
1481 |
-
|
1482 |
-
= 3.0.7(2019-03-07) =
|
1483 |
-
* Added: Bing Shipping attribute
|
1484 |
-
* Fixed: Review notice show after 15 days of installation
|
1485 |
-
* Fixed: ajax action hook conflicting issue fixed
|
1486 |
-
|
1487 |
-
= 3.0.6(2019-03-05) =
|
1488 |
-
* Fixed: Facebook inventory attribute added
|
1489 |
-
|
1490 |
-
= 3.0.5(2019-02-27) =
|
1491 |
-
* Fixed: Google Local Product Inventory feed template added
|
1492 |
-
|
1493 |
-
= 3.0.4(2019-02-25) =
|
1494 |
-
* Fixed: Google & Facebook condition attribute value changed from New to new
|
1495 |
-
|
1496 |
-
= 3.0.3(2019-02-20) =
|
1497 |
-
* Price with Tax attribute added
|
1498 |
-
* Product date created and date updated attribute added
|
1499 |
-
* Google Category notice bug fix
|
1500 |
-
|
1501 |
-
= 3.0.2(2019-02-15) =
|
1502 |
-
* WordPress version 5.1 compatibility checked
|
1503 |
-
|
1504 |
-
= 3.0.1(2019-02-06) =
|
1505 |
-
* Manufacturer attribute added to NexTag template
|
1506 |
-
|
1507 |
-
= 3.0.0(2019-01-31) =
|
1508 |
-
* Minor bug fixing
|
1509 |
-
|
1510 |
-
= 2.2.33(2019-01-27) =
|
1511 |
-
* Google Taxonomy modal issue fixed
|
1512 |
-
|
1513 |
-
= 2.2.32(2019-01-24) =
|
1514 |
-
* Show message at feed generation if woocommerce product not found.
|
1515 |
-
|
1516 |
-
= 2.2.31(2019-01-22) =
|
1517 |
-
* Used home_url() instead of site_url() into google feed header
|
1518 |
-
* Review request admin message added
|
1519 |
-
|
1520 |
-
= 2.2.29(2019-01-20) =
|
1521 |
-
* Added: SFTP file upload to remote server
|
1522 |
-
|
1523 |
-
= 2.2.28(2019-01-11) =
|
1524 |
-
* WordPress 5 compatibility checked
|
1525 |
-
* Default cron interval set to 24 hours
|
1526 |
-
* Minor bug fix
|
1527 |
-
|
1528 |
-
= 2.2.26(2018-11-17) =
|
1529 |
-
* At First convert Short Codes and then Remove failed Short Codes from String
|
1530 |
-
|
1531 |
-
= 2.2.25(2018-11-07) =
|
1532 |
-
* number_format error fixed
|
1533 |
-
|
1534 |
-
= 2.2.24(2018-11-05) =
|
1535 |
-
* Minor issue fixed
|
1536 |
-
|
1537 |
-
= 2.2.23(2018-10-25) =
|
1538 |
-
* Google Attribute cost_of_goods_sold added
|
1539 |
-
* Visual Composer shortcode remove issue fixed
|
1540 |
-
|
1541 |
-
= 2.2.22(2018-10-10) =
|
1542 |
-
* Variations missing issue fixed
|
1543 |
-
* URL encoding issue with suffix fixed
|
1544 |
-
|
1545 |
-
= 2.2.21(2018-09-19) =
|
1546 |
-
* Cron schedule added to update feed individually
|
1547 |
-
|
1548 |
-
= 2.2.19(2018-07-31) =
|
1549 |
-
* Product description default limit set to 5000 for Google Merchant and Facebook template
|
1550 |
-
|
1551 |
-
= 2.2.18(2018-07-09) =
|
1552 |
-
* Google Product category missing warning added for Google Merchant and Facebook template
|
1553 |
-
|
1554 |
-
= 2.2.17(2018-07-05) =
|
1555 |
-
* All field added to amazon template
|
1556 |
-
|
1557 |
-
= 2.2.16(2018-07-02) =
|
1558 |
-
* Strip tag added as default output type for Google and Facebook template
|
1559 |
-
|
1560 |
-
= 2.2.15(2018-06-09) =
|
1561 |
-
* Documentation and Pro plugin link added under plugin activation links
|
1562 |
-
|
1563 |
-
= 2.2.14(2018-05-25) =
|
1564 |
-
* Grouped product price issue fixed
|
1565 |
-
|
1566 |
-
= 2.2.11(2018-04-25) =
|
1567 |
-
* Minor js error fixed
|
1568 |
-
|
1569 |
-
= 2.2.10(2018-04-25) =
|
1570 |
-
* Google Product Category dropdown added for Google Shopping template
|
1571 |
-
|
1572 |
-
= 2.2.9(2018-03-23) =
|
1573 |
-
* Product missing issue fixed
|
1574 |
-
* Auto update active/inactive status added
|
1575 |
-
|
1576 |
-
= 2.2.8(2018-03-14) =
|
1577 |
-
* Variable product price issue fixed
|
1578 |
-
* Other minor issues about product are fixed
|
1579 |
-
|
1580 |
-
= 2.2.7(2018-03-01) =
|
1581 |
-
* Product query code improved
|
1582 |
-
|
1583 |
-
= 2.2.6(2018-02-15) =
|
1584 |
-
* Added: Jet.com Template added
|
1585 |
-
* Added: Wish.com Template added
|
1586 |
-
|
1587 |
-
= 2.2.5(2018-02-05) =
|
1588 |
-
* Fixed: Variations description issue
|
1589 |
-
* Fixed: Remove shortcodes Automatically
|
1590 |
-
|
1591 |
-
= 2.2.4(2018-02-01) =
|
1592 |
-
* Auto Remove ShortCodes from Product Description
|
1593 |
-
|
1594 |
-
= 2.2.3(2018-01-30) =
|
1595 |
-
* Fixed: Variations description issue
|
1596 |
-
* Added: Remove shortcodes function modified
|
1597 |
-
|
1598 |
-
= 2.2.2(2018-01-26) =
|
1599 |
-
* removed variations for facebook
|
1600 |
-
|
1601 |
-
= 2.2.1(2018-01-25) =
|
1602 |
-
* product variation issue fixed
|
1603 |
-
|
1604 |
-
= 2.2.0(2018-01-25) =
|
1605 |
-
* WC 3.1+ compatibility extended
|
1606 |
-
|
1607 |
-
= 2.1.29(2018-01-09) =
|
1608 |
-
* Added: Bonanza, Real, LeGuide and Crowdfox template added
|
1609 |
-
|
1610 |
-
= 2.1.28(2017-12-27) =
|
1611 |
-
* Added: Pricerunner template added
|
1612 |
-
* Added: AdForm template added
|
1613 |
-
|
1614 |
-
= 2.1.27(2017-12-25) =
|
1615 |
-
* Added: Bol.com template added
|
1616 |
-
|
1617 |
-
= 2.1.26(2017-12-12) =
|
1618 |
-
* Added: Polyvore template added
|
1619 |
-
|
1620 |
-
= 2.1.25(2017-12-03) =
|
1621 |
-
* Added: Fruugo template added
|
1622 |
-
|
1623 |
-
= 2.1.24(2017-11-03) =
|
1624 |
-
* Added: FTP port option
|
1625 |
-
|
1626 |
-
= 2.1.23(2017-10-23) =
|
1627 |
-
* Added: Twenga product feed template added
|
1628 |
-
* Fixed: Internal server error at the middle of feed making
|
1629 |
-
|
1630 |
-
= 2.1.22(2017-10-17) =
|
1631 |
-
* Added: PriceSpy product feed template added
|
1632 |
-
* Added: PrisJakt product feed template added
|
1633 |
-
|
1634 |
-
= 2.1.21(2017-10-08) =
|
1635 |
-
* Added: Adroll.com product feed template added
|
1636 |
-
|
1637 |
-
= 2.1.20(2017-10-04) =
|
1638 |
-
* Fixed: js typeahead error fixed.
|
1639 |
-
|
1640 |
-
= 2.1.19(2017-10-04) =
|
1641 |
-
* Fixed: decimal issue of progress percent.
|
1642 |
-
|
1643 |
-
= 2.1.18(2017-09-28) =
|
1644 |
-
* Fixed: Sale Price will be empty if not on sale
|
1645 |
-
|
1646 |
-
= 2.1.17(2017-09-20) =
|
1647 |
-
* Fixed: FTP Connection issue
|
1648 |
-
|
1649 |
-
= 2.1.16(2017-09-01) =
|
1650 |
-
* Fixed: XML error for Google and Facebook template
|
1651 |
-
|
1652 |
-
= 2.1.15(2017-08-27) =
|
1653 |
-
* Fixed: array_merge error
|
1654 |
-
* Added: Strip slashed manual input (Prefix, Suffix, and Pattern)
|
1655 |
-
* Added: HTML entity decoded for Google and Facebook XML header
|
1656 |
-
|
1657 |
-
= 2.1.14(2017-08-09) =
|
1658 |
-
* Fixed: Variable Product missing issue
|
1659 |
-
|
1660 |
-
= 2.1.13(2017-08-08) =
|
1661 |
-
* Fixed: Variable Product issue
|
1662 |
-
* Fixed: Unlink temp file error
|
1663 |
-
|
1664 |
-
= 2.1.12(2017-07-24) =
|
1665 |
-
* Fixed: product count error
|
1666 |
-
|
1667 |
-
= 2.1.10(2017-07-24) =
|
1668 |
-
* Added: New Option added to feed configuration view
|
1669 |
-
* Added: Plugin Setting menu
|
1670 |
-
|
1671 |
-
= 2.1.9(2017-07-09) =
|
1672 |
-
* Fixed: Feed execution failed error.
|
1673 |
-
|
1674 |
-
= 2.1.8(2017-07-09) =
|
1675 |
-
* Fixed: 200 products issue of Auto Feed Update
|
1676 |
-
|
1677 |
-
= 2.1.7(2017-07-03) =
|
1678 |
-
* Added: Auto Feed Update
|
1679 |
-
|
1680 |
-
= 2.1.6(2017-05-27) =
|
1681 |
-
* Duplicate Product Issue fixed.
|
1682 |
-
* Removed Product variations for Facebook Template.
|
1683 |
-
* 0 Price issue for Parent product of variation fixed.
|
1684 |
-
|
1685 |
-
= 2.1.4(2017-05-22) =
|
1686 |
-
* New attribute added for External Product URL
|
1687 |
-
|
1688 |
-
= 2.1.3(2017-05-12) =
|
1689 |
-
* Solved the output 0 issue for empty attribute value
|
1690 |
-
|
1691 |
-
= 2.1.2(2017-05-09) =
|
1692 |
-
* Frontend JS conflict issue fixed
|
1693 |
-
|
1694 |
-
= 2.1.1(2017-05-08) =
|
1695 |
-
* Additional Images error fixed
|
1696 |
-
|
1697 |
-
= 2.1.0(2017-05-07) =
|
1698 |
-
* Fixed: The blank screen or 500 page not found error
|
1699 |
-
* Added: Sale price value wil return current price
|
1700 |
-
* Added: Support Grouped Product
|
1701 |
-
* Added: Compatible with WooCommerce 3.0+
|
1702 |
-
* Added: Ajax Feed making
|
1703 |
-
* Improved: Auto feed updating functionality
|
1704 |
-
* Added: Comma Separated Additional Images Attribute for Google and Facebook template
|
1705 |
-
|
1706 |
-
= 2.0.16(2017-05-02) =
|
1707 |
-
* Fixed: Additional Image issue google shopping template
|
1708 |
-
|
1709 |
-
= 2.0.15(2017-04-27) =
|
1710 |
-
* Fixed the issue: Call to undefined method WC_Product_Variation::get_gallery_image_ids()
|
1711 |
-
|
1712 |
-
= 2.0.14(2017-04-27) =
|
1713 |
-
* Fixed: Additional Image issue google shopping template
|
1714 |
-
|
1715 |
-
= 2.0.13(2017-04-09) =
|
1716 |
-
* Added the functionality to make feed for External/Affiliate Product
|
1717 |
-
|
1718 |
-
= 2.0.12(2017-03-27) =
|
1719 |
-
* Removed default space from after suffix and before prefix.
|
1720 |
-
* Fixed the number_format command issue and documentation updated.
|
1721 |
-
* Fixed last version errors.
|
1722 |
-
|
1723 |
-
= 2.0.11(2017-03-20) =
|
1724 |
-
* Fixed the zero output error
|
1725 |
-
|
1726 |
-
= 2.0.10(2017-03-18) =
|
1727 |
-
* Amazon Jewelry Template added
|
1728 |
-
|
1729 |
-
= 2.0.9(2017-03-16) =
|
1730 |
-
* Fixed the issue to output attribute value 0
|
1731 |
-
|
1732 |
-
= 2.0.8(2017-03-02) =
|
1733 |
-
* Amazon template error fixed
|
1734 |
-
|
1735 |
-
= 2.0.7(2017-03-01) =
|
1736 |
-
* Shipping attribute information error and image required issue fixed
|
1737 |
-
|
1738 |
-
= 2.0.6(2017-02-25) =
|
1739 |
-
* Error fixed for Amazon camera and photo category template
|
1740 |
-
|
1741 |
-
= 2.0.5(2017-02-20) =
|
1742 |
-
* Code modified for faster feed making
|
1743 |
-
|
1744 |
-
= 2.0.4(2017-02-08) =
|
1745 |
-
* For Google Shopping template: identifier_exist status value updated from TRUE and FALSE to yes and no according to Google Merchant requirements.
|
1746 |
-
|
1747 |
-
= 2.0.3(2017-02-06) =
|
1748 |
-
* Fixed: sale price effective date formatting
|
1749 |
-
|
1750 |
-
= 2.0.2(2017-01-12) =
|
1751 |
-
* Fixed: xmlParseEntityRef: no name for Google Shopping Class
|
1752 |
-
|
1753 |
-
= 2.0.1(2017-01-12) =
|
1754 |
-
* Fixed: TXT feed encoding error
|
1755 |
-
* Modified: Bing template modified according to new Bing requirements.
|
1756 |
-
* Added: Amazon Inventory template by Category added
|
1757 |
-
|
1758 |
-
= 2.0.0(2017-01-05) =
|
1759 |
-
* identifier_exist attribute value will be automatically set according to feed configuration for Google Shopping Template.
|
1760 |
-
|
1761 |
-
= 1.5.36(2016-11-28) =
|
1762 |
-
* Removed Promotional Message
|
1763 |
-
|
1764 |
-
= 1.5.35(2016-11-27) =
|
1765 |
-
* Added: Functionality to Include Extra header information into feed
|
1766 |
-
|
1767 |
-
= 1.5.34(2016-11-23) =
|
1768 |
-
* Fixed: Remove non UTF-8 character from attribute output value
|
1769 |
-
* Added: Remove Short Codes from Product Description
|
1770 |
-
|
1771 |
-
= 1.5.33(2016-11-01) =
|
1772 |
-
* Fixed: Output product category according to category hierarchy
|
1773 |
-
|
1774 |
-
= 1.5.32(2016-11-01) =
|
1775 |
-
* Fixed: Removed the space between link attribute and suffix. For example, It's possible to add tracking code into url.
|
1776 |
-
|
1777 |
-
= 1.5.31(2016-10-14) =
|
1778 |
-
* Added: Google Ad words Feed template
|
1779 |
-
* Added: Shopbot feed template
|
1780 |
-
* Added: Remove special character from the attribute output value
|
1781 |
-
|
1782 |
-
= 1.5.30(2016-10-10) =
|
1783 |
-
* Added the difference between premium and free version
|
1784 |
-
|
1785 |
-
= 1.5.29(2016-10-04) =
|
1786 |
-
* replace product description line break with space
|
1787 |
-
|
1788 |
-
= 1.5.28(2016-09-22) =
|
1789 |
-
* class-woo-feed-error-message.php committed
|
1790 |
-
|
1791 |
-
= 1.5.27(2016-09-22) =
|
1792 |
-
* Show error message if WordPress Upload directory is not writable
|
1793 |
-
|
1794 |
-
= 1.5.26(2016-09-10) =
|
1795 |
-
* Remove space from beginning and ending of strings for CSV and TXT feed
|
1796 |
-
|
1797 |
-
= 1.5.25(2016-09-03) =
|
1798 |
-
* Fixed: CSRF Security Vulnerability
|
1799 |
-
|
1800 |
-
= 1.5.24(2016-09-02) =
|
1801 |
-
* Modified: Hex character encoding error for XML feed
|
1802 |
-
* Fixed: CSRF Security Vulnerability
|
1803 |
-
|
1804 |
-
= 1.5.23(2016-08-26) =
|
1805 |
-
* Modified: Hex character encoding error for XML feed
|
1806 |
-
|
1807 |
-
= 1.5.22(2016-08-23) =
|
1808 |
-
* Fixed: Hex character encoding error for XML feed
|
1809 |
-
|
1810 |
-
= 1.5.21(2016-08-03) =
|
1811 |
-
* Added: is_object checking for global variable product
|
1812 |
-
|
1813 |
-
= 1.5.20(2016-07-26) =
|
1814 |
-
* Fixed: hard coded db query for product count
|
1815 |
-
|
1816 |
-
= 1.5.19(2016-07-25) =
|
1817 |
-
* Fixed: return custom attribute value instead of slug
|
1818 |
-
|
1819 |
-
= 1.5.18(2016-07-21) =
|
1820 |
-
* g:shipping_region attribute added to google merchant class.
|
1821 |
-
|
1822 |
-
= 1.5.17(2016-07-03) =
|
1823 |
-
* Fixed: Fatal error: Call to a member function is_type()
|
1824 |
-
|
1825 |
-
= 1.5.16(2016-06-13) =
|
1826 |
-
* Fixed: Blank Screen Error
|
1827 |
-
* Improved: Feed Making Process
|
1828 |
-
|
1829 |
-
= 1.5.15(2016-05-27) =
|
1830 |
-
* Fixed: Compatible with PHP version 5.3
|
1831 |
-
* Improved: Pre Configured Template Loading Time
|
1832 |
-
|
1833 |
-
= 1.5.14(2016-05-11) =
|
1834 |
-
* Fixed: List Table Syntax Error. Now compatible with PHP version 5.3
|
1835 |
-
* Fixed: Pre Configured Template Loading Error
|
1836 |
-
* Solved: CSV None enclosure.
|
1837 |
-
|
1838 |
-
= 1.5.13(2016-04-29) =
|
1839 |
-
* Fixed: Cron Job Auto Feed Update
|
1840 |
-
|
1841 |
-
= 1.5.12(2016-04-25) =
|
1842 |
-
* Fixed: Custom template update problem
|
1843 |
-
* Added: Template added for Shopbot.com
|
1844 |
-
|
1845 |
-
= 1.5.11(2016-04-12) =
|
1846 |
-
* Fixed: Blank product and image url
|
1847 |
-
* Fixed: WP List Table Screen error solved
|
1848 |
-
* Variation checking added for parent product export
|
1849 |
-
|
1850 |
-
= 1.5.10 =
|
1851 |
-
* Google Adwords Template Added
|
1852 |
-
* Top Pro Version Message Removed
|
1853 |
-
* Add New Row dropdown field error fixed
|
1854 |
-
|
1855 |
-
= 1.5.9 =
|
1856 |
-
* Facebook XML Feed Space Error Fixed
|
1857 |
-
* Google XML Feed Space Error Fixed
|
1858 |
-
|
1859 |
-
= 1.5.8 =
|
1860 |
-
* Amazon Template Added
|
1861 |
-
* Multiple Regenerate error fixed
|
1862 |
-
* Support Empty Attributes
|
1863 |
-
* Support Dynamic Attribute Reuse
|
1864 |
-
* Support Category Mapping Reuse
|
1865 |
-
|
1866 |
-
= 1.5.7 =
|
1867 |
-
* Faster Feed Processing Modified
|
1868 |
-
* JS Feed Update Status Conflict Fixed
|
1869 |
-
* Product Filtering Module Modified
|
1870 |
-
* Feed Edit Template Modified
|
1871 |
-
|
1872 |
-
= 1.5.6 =
|
1873 |
-
* Faster Feed Processing
|
1874 |
-
* Ajax Feed Processing Status Error Fixed
|
1875 |
-
|
1876 |
-
= 1.5.5 =
|
1877 |
-
* Feed edit error fixed
|
1878 |
-
* Facebook edit template error fixed
|
1879 |
-
* Pattern Output error fixed
|
1880 |
-
* Add New button error fixed
|
1881 |
-
* Feed making progress error fixed
|
1882 |
-
* Custom taxonomy added to value dropdown into feed template (pro)
|
1883 |
-
|
1884 |
-
= 1.5.4 =
|
1885 |
-
* jQuery Shortable error fixed
|
1886 |
-
|
1887 |
-
= 1.5.3 =
|
1888 |
-
* Google and Facebook Single item wrapper issue fixed
|
1889 |
-
* Shipping attribute added for Google and Facebook Template
|
1890 |
-
* Support and Docs section added
|
1891 |
-
* Feed making progress issue fixed
|
1892 |
-
* Sale Price start and end date attribute added
|
1893 |
-
* Stock quantity issue fixed
|
1894 |
-
|
1895 |
-
= 1.5.2 =
|
1896 |
-
* Feed making progress status added
|
1897 |
-
|
1898 |
-
= 1.5.1 =
|
1899 |
-
* Data Validation Improved
|
1900 |
-
|
1901 |
-
= 1.5.0 =
|
1902 |
-
* 10 pre configured Template
|
1903 |
-
|
1904 |
-
= 1.0.0 =
|
1905 |
-
* First Release.
|
1906 |
-
|
1907 |
-
== Upgrade Notice ==
|
1908 |
-
= 1.5.3 =
|
1909 |
-
This is a major release. Please update to version 1.5.3 . Lots of issue solved and some modification added. If any problem occurred while update then reactivate the plugin. Its a good practice to make a backup of your database before update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/WOO_FEED_LICENSE.txt
DELETED
@@ -1,339 +0,0 @@
|
|
1 |
-
GNU GENERAL PUBLIC LICENSE
|
2 |
-
Version 2, June 1991
|
3 |
-
|
4 |
-
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
5 |
-
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
6 |
-
Everyone is permitted to copy and distribute verbatim copies
|
7 |
-
of this license document, but changing it is not allowed.
|
8 |
-
|
9 |
-
Preamble
|
10 |
-
|
11 |
-
The licenses for most software are designed to take away your
|
12 |
-
freedom to share and change it. By contrast, the GNU General Public
|
13 |
-
License is intended to guarantee your freedom to share and change free
|
14 |
-
software--to make sure the software is free for all its users. This
|
15 |
-
General Public License applies to most of the Free Software
|
16 |
-
Foundation's software and to any other program whose authors commit to
|
17 |
-
using it. (Some other Free Software Foundation software is covered by
|
18 |
-
the GNU Lesser General Public License instead.) You can apply it to
|
19 |
-
your programs, too.
|
20 |
-
|
21 |
-
When we speak of free software, we are referring to freedom, not
|
22 |
-
price. Our General Public Licenses are designed to make sure that you
|
23 |
-
have the freedom to distribute copies of free software (and charge for
|
24 |
-
this service if you wish), that you receive source code or can get it
|
25 |
-
if you want it, that you can change the software or use pieces of it
|
26 |
-
in new free programs; and that you know you can do these things.
|
27 |
-
|
28 |
-
To protect your rights, we need to make restrictions that forbid
|
29 |
-
anyone to deny you these rights or to ask you to surrender the rights.
|
30 |
-
These restrictions translate to certain responsibilities for you if you
|
31 |
-
distribute copies of the software, or if you modify it.
|
32 |
-
|
33 |
-
For example, if you distribute copies of such a program, whether
|
34 |
-
gratis or for a fee, you must give the recipients all the rights that
|
35 |
-
you have. You must make sure that they, too, receive or can get the
|
36 |
-
source code. And you must show them these terms so they know their
|
37 |
-
rights.
|
38 |
-
|
39 |
-
We protect your rights with two steps: (1) copyright the software, and
|
40 |
-
(2) offer you this license which gives you legal permission to copy,
|
41 |
-
distribute and/or modify the software.
|
42 |
-
|
43 |
-
Also, for each author's protection and ours, we want to make certain
|
44 |
-
that everyone understands that there is no warranty for this free
|
45 |
-
software. If the software is modified by someone else and passed on, we
|
46 |
-
want its recipients to know that what they have is not the original, so
|
47 |
-
that any problems introduced by others will not reflect on the original
|
48 |
-
authors' reputations.
|
49 |
-
|
50 |
-
Finally, any free program is threatened constantly by software
|
51 |
-
patents. We wish to avoid the danger that redistributors of a free
|
52 |
-
program will individually obtain patent licenses, in effect making the
|
53 |
-
program proprietary. To prevent this, we have made it clear that any
|
54 |
-
patent must be licensed for everyone's free use or not licensed at all.
|
55 |
-
|
56 |
-
The precise terms and conditions for copying, distribution and
|
57 |
-
modification follow.
|
58 |
-
|
59 |
-
GNU GENERAL PUBLIC LICENSE
|
60 |
-
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61 |
-
|
62 |
-
0. This License applies to any program or other work which contains
|
63 |
-
a notice placed by the copyright holder saying it may be distributed
|
64 |
-
under the terms of this General Public License. The "Program", below,
|
65 |
-
refers to any such program or work, and a "work based on the Program"
|
66 |
-
means either the Program or any derivative work under copyright law:
|
67 |
-
that is to say, a work containing the Program or a portion of it,
|
68 |
-
either verbatim or with modifications and/or translated into another
|
69 |
-
language. (Hereinafter, translation is included without limitation in
|
70 |
-
the term "modification".) Each licensee is addressed as "you".
|
71 |
-
|
72 |
-
Activities other than copying, distribution and modification are not
|
73 |
-
covered by this License; they are outside its scope. The act of
|
74 |
-
running the Program is not restricted, and the output from the Program
|
75 |
-
is covered only if its contents constitute a work based on the
|
76 |
-
Program (independent of having been made by running the Program).
|
77 |
-
Whether that is true depends on what the Program does.
|
78 |
-
|
79 |
-
1. You may copy and distribute verbatim copies of the Program's
|
80 |
-
source code as you receive it, in any medium, provided that you
|
81 |
-
conspicuously and appropriately publish on each copy an appropriate
|
82 |
-
copyright notice and disclaimer of warranty; keep intact all the
|
83 |
-
notices that refer to this License and to the absence of any warranty;
|
84 |
-
and give any other recipients of the Program a copy of this License
|
85 |
-
along with the Program.
|
86 |
-
|
87 |
-
You may charge a fee for the physical act of transferring a copy, and
|
88 |
-
you may at your option offer warranty protection in exchange for a fee.
|
89 |
-
|
90 |
-
2. You may modify your copy or copies of the Program or any portion
|
91 |
-
of it, thus forming a work based on the Program, and copy and
|
92 |
-
distribute such modifications or work under the terms of Section 1
|
93 |
-
above, provided that you also meet all of these conditions:
|
94 |
-
|
95 |
-
a) You must cause the modified files to carry prominent notices
|
96 |
-
stating that you changed the files and the date of any change.
|
97 |
-
|
98 |
-
b) You must cause any work that you distribute or publish, that in
|
99 |
-
whole or in part contains or is derived from the Program or any
|
100 |
-
part thereof, to be licensed as a whole at no charge to all third
|
101 |
-
parties under the terms of this License.
|
102 |
-
|
103 |
-
c) If the modified program normally reads commands interactively
|
104 |
-
when run, you must cause it, when started running for such
|
105 |
-
interactive use in the most ordinary way, to print or display an
|
106 |
-
announcement including an appropriate copyright notice and a
|
107 |
-
notice that there is no warranty (or else, saying that you provide
|
108 |
-
a warranty) and that users may redistribute the program under
|
109 |
-
these conditions, and telling the user how to view a copy of this
|
110 |
-
License. (Exception: if the Program itself is interactive but
|
111 |
-
does not normally print such an announcement, your work based on
|
112 |
-
the Program is not required to print an announcement.)
|
113 |
-
|
114 |
-
These requirements apply to the modified work as a whole. If
|
115 |
-
identifiable sections of that work are not derived from the Program,
|
116 |
-
and can be reasonably considered independent and separate works in
|
117 |
-
themselves, then this License, and its terms, do not apply to those
|
118 |
-
sections when you distribute them as separate works. But when you
|
119 |
-
distribute the same sections as part of a whole which is a work based
|
120 |
-
on the Program, the distribution of the whole must be on the terms of
|
121 |
-
this License, whose permissions for other licensees extend to the
|
122 |
-
entire whole, and thus to each and every part regardless of who wrote it.
|
123 |
-
|
124 |
-
Thus, it is not the intent of this section to claim rights or contest
|
125 |
-
your rights to work written entirely by you; rather, the intent is to
|
126 |
-
exercise the right to control the distribution of derivative or
|
127 |
-
collective works based on the Program.
|
128 |
-
|
129 |
-
In addition, mere aggregation of another work not based on the Program
|
130 |
-
with the Program (or with a work based on the Program) on a volume of
|
131 |
-
a storage or distribution medium does not bring the other work under
|
132 |
-
the scope of this License.
|
133 |
-
|
134 |
-
3. You may copy and distribute the Program (or a work based on it,
|
135 |
-
under Section 2) in object code or executable form under the terms of
|
136 |
-
Sections 1 and 2 above provided that you also do one of the following:
|
137 |
-
|
138 |
-
a) Accompany it with the complete corresponding machine-readable
|
139 |
-
source code, which must be distributed under the terms of Sections
|
140 |
-
1 and 2 above on a medium customarily used for software interchange; or,
|
141 |
-
|
142 |
-
b) Accompany it with a written offer, valid for at least three
|
143 |
-
years, to give any third party, for a charge no more than your
|
144 |
-
cost of physically performing source distribution, a complete
|
145 |
-
machine-readable copy of the corresponding source code, to be
|
146 |
-
distributed under the terms of Sections 1 and 2 above on a medium
|
147 |
-
customarily used for software interchange; or,
|
148 |
-
|
149 |
-
c) Accompany it with the information you received as to the offer
|
150 |
-
to distribute corresponding source code. (This alternative is
|
151 |
-
allowed only for noncommercial distribution and only if you
|
152 |
-
received the program in object code or executable form with such
|
153 |
-
an offer, in accord with Subsection b above.)
|
154 |
-
|
155 |
-
The source code for a work means the preferred form of the work for
|
156 |
-
making modifications to it. For an executable work, complete source
|
157 |
-
code means all the source code for all modules it contains, plus any
|
158 |
-
associated interface definition files, plus the scripts used to
|
159 |
-
control compilation and installation of the executable. However, as a
|
160 |
-
special exception, the source code distributed need not include
|
161 |
-
anything that is normally distributed (in either source or binary
|
162 |
-
form) with the major components (compiler, kernel, and so on) of the
|
163 |
-
operating system on which the executable runs, unless that component
|
164 |
-
itself accompanies the executable.
|
165 |
-
|
166 |
-
If distribution of executable or object code is made by offering
|
167 |
-
access to copy from a designated place, then offering equivalent
|
168 |
-
access to copy the source code from the same place counts as
|
169 |
-
distribution of the source code, even though third parties are not
|
170 |
-
compelled to copy the source along with the object code.
|
171 |
-
|
172 |
-
4. You may not copy, modify, sublicense, or distribute the Program
|
173 |
-
except as expressly provided under this License. Any attempt
|
174 |
-
otherwise to copy, modify, sublicense or distribute the Program is
|
175 |
-
void, and will automatically terminate your rights under this License.
|
176 |
-
However, parties who have received copies, or rights, from you under
|
177 |
-
this License will not have their licenses terminated so long as such
|
178 |
-
parties remain in full compliance.
|
179 |
-
|
180 |
-
5. You are not required to accept this License, since you have not
|
181 |
-
signed it. However, nothing else grants you permission to modify or
|
182 |
-
distribute the Program or its derivative works. These actions are
|
183 |
-
prohibited by law if you do not accept this License. Therefore, by
|
184 |
-
modifying or distributing the Program (or any work based on the
|
185 |
-
Program), you indicate your acceptance of this License to do so, and
|
186 |
-
all its terms and conditions for copying, distributing or modifying
|
187 |
-
the Program or works based on it.
|
188 |
-
|
189 |
-
6. Each time you redistribute the Program (or any work based on the
|
190 |
-
Program), the recipient automatically receives a license from the
|
191 |
-
original licensor to copy, distribute or modify the Program subject to
|
192 |
-
these terms and conditions. You may not impose any further
|
193 |
-
restrictions on the recipients' exercise of the rights granted herein.
|
194 |
-
You are not responsible for enforcing compliance by third parties to
|
195 |
-
this License.
|
196 |
-
|
197 |
-
7. If, as a consequence of a court judgment or allegation of patent
|
198 |
-
infringement or for any other reason (not limited to patent issues),
|
199 |
-
conditions are imposed on you (whether by court order, agreement or
|
200 |
-
otherwise) that contradict the conditions of this License, they do not
|
201 |
-
excuse you from the conditions of this License. If you cannot
|
202 |
-
distribute so as to satisfy simultaneously your obligations under this
|
203 |
-
License and any other pertinent obligations, then as a consequence you
|
204 |
-
may not distribute the Program at all. For example, if a patent
|
205 |
-
license would not permit royalty-free redistribution of the Program by
|
206 |
-
all those who receive copies directly or indirectly through you, then
|
207 |
-
the only way you could satisfy both it and this License would be to
|
208 |
-
refrain entirely from distribution of the Program.
|
209 |
-
|
210 |
-
If any portion of this section is held invalid or unenforceable under
|
211 |
-
any particular circumstance, the balance of the section is intended to
|
212 |
-
apply and the section as a whole is intended to apply in other
|
213 |
-
circumstances.
|
214 |
-
|
215 |
-
It is not the purpose of this section to induce you to infringe any
|
216 |
-
patents or other property right claims or to contest validity of any
|
217 |
-
such claims; this section has the sole purpose of protecting the
|
218 |
-
integrity of the free software distribution system, which is
|
219 |
-
implemented by public license practices. Many people have made
|
220 |
-
generous contributions to the wide range of software distributed
|
221 |
-
through that system in reliance on consistent application of that
|
222 |
-
system; it is up to the author/donor to decide if he or she is willing
|
223 |
-
to distribute software through any other system and a licensee cannot
|
224 |
-
impose that choice.
|
225 |
-
|
226 |
-
This section is intended to make thoroughly clear what is believed to
|
227 |
-
be a consequence of the rest of this License.
|
228 |
-
|
229 |
-
8. If the distribution and/or use of the Program is restricted in
|
230 |
-
certain countries either by patents or by copyrighted interfaces, the
|
231 |
-
original copyright holder who places the Program under this License
|
232 |
-
may add an explicit geographical distribution limitation excluding
|
233 |
-
those countries, so that distribution is permitted only in or among
|
234 |
-
countries not thus excluded. In such case, this License incorporates
|
235 |
-
the limitation as if written in the body of this License.
|
236 |
-
|
237 |
-
9. The Free Software Foundation may publish revised and/or new versions
|
238 |
-
of the General Public License from time to time. Such new versions will
|
239 |
-
be similar in spirit to the present version, but may differ in detail to
|
240 |
-
address new problems or concerns.
|
241 |
-
|
242 |
-
Each version is given a distinguishing version number. If the Program
|
243 |
-
specifies a version number of this License which applies to it and "any
|
244 |
-
later version", you have the option of following the terms and conditions
|
245 |
-
either of that version or of any later version published by the Free
|
246 |
-
Software Foundation. If the Program does not specify a version number of
|
247 |
-
this License, you may choose any version ever published by the Free Software
|
248 |
-
Foundation.
|
249 |
-
|
250 |
-
10. If you wish to incorporate parts of the Program into other free
|
251 |
-
programs whose distribution conditions are different, write to the author
|
252 |
-
to ask for permission. For software which is copyrighted by the Free
|
253 |
-
Software Foundation, write to the Free Software Foundation; we sometimes
|
254 |
-
make exceptions for this. Our decision will be guided by the two goals
|
255 |
-
of preserving the free status of all derivatives of our free software and
|
256 |
-
of promoting the sharing and reuse of software generally.
|
257 |
-
|
258 |
-
NO WARRANTY
|
259 |
-
|
260 |
-
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
261 |
-
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
262 |
-
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
263 |
-
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
264 |
-
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
265 |
-
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
266 |
-
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
267 |
-
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
268 |
-
REPAIR OR CORRECTION.
|
269 |
-
|
270 |
-
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
271 |
-
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
272 |
-
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
273 |
-
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
274 |
-
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
275 |
-
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
276 |
-
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
277 |
-
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
278 |
-
POSSIBILITY OF SUCH DAMAGES.
|
279 |
-
|
280 |
-
END OF TERMS AND CONDITIONS
|
281 |
-
|
282 |
-
How to Apply These Terms to Your New Programs
|
283 |
-
|
284 |
-
If you develop a new program, and you want it to be of the greatest
|
285 |
-
possible use to the public, the best way to achieve this is to make it
|
286 |
-
free software which everyone can redistribute and change under these terms.
|
287 |
-
|
288 |
-
To do so, attach the following notices to the program. It is safest
|
289 |
-
to attach them to the start of each source file to most effectively
|
290 |
-
convey the exclusion of warranty; and each file should have at least
|
291 |
-
the "copyright" line and a pointer to where the full notice is found.
|
292 |
-
|
293 |
-
<one line to give the program's name and a brief idea of what it does.>
|
294 |
-
Copyright (C) <year> <name of author>
|
295 |
-
|
296 |
-
This program is free software; you can redistribute it and/or modify
|
297 |
-
it under the terms of the GNU General Public License as published by
|
298 |
-
the Free Software Foundation; either version 2 of the License, or
|
299 |
-
(at your option) any later version.
|
300 |
-
|
301 |
-
This program is distributed in the hope that it will be useful,
|
302 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
303 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
304 |
-
GNU General Public License for more details.
|
305 |
-
|
306 |
-
You should have received a copy of the GNU General Public License along
|
307 |
-
with this program; if not, write to the Free Software Foundation, Inc.,
|
308 |
-
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
309 |
-
|
310 |
-
Also add information on how to contact you by electronic and paper mail.
|
311 |
-
|
312 |
-
If the program is interactive, make it output a short notice like this
|
313 |
-
when it starts in an interactive mode:
|
314 |
-
|
315 |
-
Gnomovision version 69, Copyright (C) year name of author
|
316 |
-
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
317 |
-
This is free software, and you are welcome to redistribute it
|
318 |
-
under certain conditions; type `show c' for details.
|
319 |
-
|
320 |
-
The hypothetical commands `show w' and `show c' should show the appropriate
|
321 |
-
parts of the General Public License. Of course, the commands you use may
|
322 |
-
be called something other than `show w' and `show c'; they could even be
|
323 |
-
mouse-clicks or menu items--whatever suits your program.
|
324 |
-
|
325 |
-
You should also get your employer (if you work as a programmer) or your
|
326 |
-
school, if any, to sign a "copyright disclaimer" for the program, if
|
327 |
-
necessary. Here is a sample; alter the names:
|
328 |
-
|
329 |
-
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
330 |
-
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
331 |
-
|
332 |
-
<signature of Ty Coon>, 1 April 1989
|
333 |
-
Ty Coon, President of Vice
|
334 |
-
|
335 |
-
This General Public License does not permit incorporating your program into
|
336 |
-
proprietary programs. If your program is a subroutine library, you may
|
337 |
-
consider it more useful to permit linking proprietary applications with the
|
338 |
-
library. If this is what you want to do, use the GNU Lesser General
|
339 |
-
Public License instead of this License.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/uninstall.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Fired when the plugin is uninstalled.
|
4 |
-
* @since 1.0.0
|
5 |
-
*
|
6 |
-
* @package WooFeed
|
7 |
-
*/
|
8 |
-
|
9 |
-
// If uninstall not called from WordPress, then exit.
|
10 |
-
if ( ! defined('WP_UNINSTALL_PLUGIN') ) {
|
11 |
-
exit;
|
12 |
-
}
|
13 |
-
|
14 |
-
wp_clear_scheduled_hook( 'woo_feed_cleanup_logs' );
|
15 |
-
wp_clear_scheduled_hook( 'woo_feed_update' );
|
16 |
-
// End of file uninstall.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/woo-feed.php
DELETED
@@ -1,1004 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* The plugin bootstrap file
|
4 |
-
*
|
5 |
-
* @link https://webappick.com
|
6 |
-
* @since 1.0.0
|
7 |
-
* @package Woo_Feed
|
8 |
-
*
|
9 |
-
* @wordpress-plugin
|
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.3.60
|
14 |
-
* Author: WebAppick
|
15 |
-
* Author URI: https://webappick.com/
|
16 |
-
* License: GPL v2
|
17 |
-
* License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
18 |
-
* Text Domain: woo-feed
|
19 |
-
* Domain Path: /languages
|
20 |
-
*
|
21 |
-
* WP Requirement & Test
|
22 |
-
* Requires at least: 4.4
|
23 |
-
* Tested up to: 5.7
|
24 |
-
* Requires PHP: 5.6
|
25 |
-
*
|
26 |
-
* WC Requirement & Test
|
27 |
-
* WC requires at least: 3.2
|
28 |
-
* WC tested up to: 5.0.0
|
29 |
-
*/
|
30 |
-
|
31 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
32 |
-
die(); // If this file is called directly, abort.
|
33 |
-
}
|
34 |
-
|
35 |
-
if ( ! defined( 'WOO_FEED_FREE_VERSION' ) ) {
|
36 |
-
/**
|
37 |
-
* Plugin Version
|
38 |
-
*
|
39 |
-
* @var string
|
40 |
-
* @since 3.1.6
|
41 |
-
*/
|
42 |
-
define( 'WOO_FEED_FREE_VERSION', '4.3.60' );
|
43 |
-
}
|
44 |
-
|
45 |
-
if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
|
46 |
-
/**
|
47 |
-
* Plugin Base File
|
48 |
-
*
|
49 |
-
* @since 3.1.41
|
50 |
-
* @var string
|
51 |
-
*/
|
52 |
-
define( 'WOO_FEED_FREE_FILE', __FILE__ );
|
53 |
-
}
|
54 |
-
if ( ! defined( 'WOO_FEED_FREE_PATH' ) ) {
|
55 |
-
/**
|
56 |
-
* Plugin Path with trailing slash
|
57 |
-
*
|
58 |
-
* @var string dirname( __FILE__ )
|
59 |
-
* * @since 3.1.6
|
60 |
-
*/
|
61 |
-
/** @define "WOO_FEED_FREE_PATH" "./" */ // phpcs:ignore
|
62 |
-
define( 'WOO_FEED_FREE_PATH', plugin_dir_path( WOO_FEED_FREE_FILE ) );
|
63 |
-
}
|
64 |
-
if ( ! defined( 'WOO_FEED_FREE_ADMIN_PATH' ) ) {
|
65 |
-
/**
|
66 |
-
* Admin File Path with trailing slash
|
67 |
-
*
|
68 |
-
* @var string
|
69 |
-
* @since 3.1.6
|
70 |
-
*/
|
71 |
-
define( 'WOO_FEED_FREE_ADMIN_PATH', WOO_FEED_FREE_PATH . 'admin/' );
|
72 |
-
}
|
73 |
-
|
74 |
-
if ( ! defined( 'WOO_FEED_LIBS_PATH' ) ) {
|
75 |
-
/**
|
76 |
-
* Admin File Path with trailing slash
|
77 |
-
*
|
78 |
-
* @var string
|
79 |
-
*/
|
80 |
-
define( 'WOO_FEED_LIBS_PATH', WOO_FEED_FREE_PATH . 'libs/' );
|
81 |
-
}
|
82 |
-
if ( ! defined( 'WOO_FEED_PLUGIN_URL' ) ) {
|
83 |
-
/**
|
84 |
-
* Plugin Directory URL
|
85 |
-
*
|
86 |
-
* @var string
|
87 |
-
* @since 3.1.37
|
88 |
-
*/
|
89 |
-
define( 'WOO_FEED_PLUGIN_URL', trailingslashit( plugin_dir_url( WOO_FEED_FREE_FILE ) ) );
|
90 |
-
}
|
91 |
-
if ( ! defined( 'WOO_FEED_MIN_PHP_VERSION' ) ) {
|
92 |
-
/**
|
93 |
-
* Minimum PHP Version Supported
|
94 |
-
*
|
95 |
-
* @var string
|
96 |
-
* @since 3.1.41
|
97 |
-
*/
|
98 |
-
define( 'WOO_FEED_MIN_PHP_VERSION', '5.6' );
|
99 |
-
}
|
100 |
-
if ( ! defined( 'WOO_FEED_MIN_WC_VERSION' ) ) {
|
101 |
-
/**
|
102 |
-
* Minimum WooCommerce Version Supported
|
103 |
-
*
|
104 |
-
* @var string
|
105 |
-
* @since 3.1.45
|
106 |
-
*/
|
107 |
-
define( 'WOO_FEED_MIN_WC_VERSION', '3.2' );
|
108 |
-
}
|
109 |
-
if ( ! defined( 'WOO_FEED_PLUGIN_BASE_NAME' ) ) {
|
110 |
-
/**
|
111 |
-
* Plugin Base name..
|
112 |
-
*
|
113 |
-
* @var string
|
114 |
-
* @since 3.1.41
|
115 |
-
*/
|
116 |
-
define( 'WOO_FEED_PLUGIN_BASE_NAME', plugin_basename( WOO_FEED_FREE_FILE ) );
|
117 |
-
}
|
118 |
-
|
119 |
-
if ( ! defined( 'WOO_FEED_LOG_DIR' ) ) {
|
120 |
-
$upload_dir = wp_get_upload_dir();
|
121 |
-
/**
|
122 |
-
* Log Directory
|
123 |
-
*
|
124 |
-
* @var string
|
125 |
-
* @since 3.2.1
|
126 |
-
*/
|
127 |
-
/** @define "WOO_FEED_LOG_DIR" "./../../uploads/woo-feed/logs" */ // phpcs:ignore
|
128 |
-
define( 'WOO_FEED_LOG_DIR', $upload_dir['basedir'] . '/woo-feed/logs/' );
|
129 |
-
}
|
130 |
-
|
131 |
-
if ( ! defined( 'WOO_FEED_CACHE_TTL' ) ) {
|
132 |
-
$_cache_ttl = get_option( 'woo_feed_settings', array( 'cache_ttl' => 6 * HOUR_IN_SECONDS ) );
|
133 |
-
/**
|
134 |
-
* Cache TTL
|
135 |
-
*
|
136 |
-
* @var int
|
137 |
-
* @since 3.3.11
|
138 |
-
*/
|
139 |
-
define( 'WOO_FEED_CACHE_TTL', $_cache_ttl['cache_ttl'] );
|
140 |
-
}
|
141 |
-
|
142 |
-
/**
|
143 |
-
* Load Uses Tracker
|
144 |
-
*/
|
145 |
-
require_once WOO_FEED_FREE_PATH . 'includes/classes/class-woo-feed-webappick-api.php';
|
146 |
-
/**
|
147 |
-
* Load Helper functions
|
148 |
-
*/
|
149 |
-
require_once WOO_FEED_FREE_PATH . 'includes/hooks.php';
|
150 |
-
require_once WOO_FEED_FREE_PATH . 'includes/log-helper.php';
|
151 |
-
require_once WOO_FEED_FREE_PATH . 'includes/helper.php';
|
152 |
-
require_once WOO_FEED_FREE_PATH . 'includes/cron-helper.php';
|
153 |
-
|
154 |
-
/**
|
155 |
-
* Installer
|
156 |
-
*/
|
157 |
-
require_once WOO_FEED_FREE_PATH . 'includes/class-woo-feed-installer.php';
|
158 |
-
|
159 |
-
if ( ! class_exists( 'Woo_Feed' ) ) {
|
160 |
-
/**
|
161 |
-
* The core plugin class that is used to define internationalization,
|
162 |
-
* admin-specific hooks, and public-facing site hooks.
|
163 |
-
*/
|
164 |
-
require WOO_FEED_FREE_PATH . 'includes/class-woo-feed.php';
|
165 |
-
}
|
166 |
-
|
167 |
-
if ( ! function_exists( 'run_woo_feed' ) ) {
|
168 |
-
/**
|
169 |
-
* Begins execution of the plugin.
|
170 |
-
*
|
171 |
-
* Since everything within the plugin is registered via hooks,
|
172 |
-
* then kicking off the plugin from this point in the file does
|
173 |
-
* not affect the page life cycle.
|
174 |
-
*
|
175 |
-
* @since 1.0.0
|
176 |
-
*/
|
177 |
-
function run_woo_feed() {
|
178 |
-
$plugin = new Woo_Feed();
|
179 |
-
register_activation_hook( WOO_FEED_FREE_FILE, array( 'Woo_Feed_installer', 'install' ) );
|
180 |
-
register_shutdown_function( 'woo_feed_log_errors_at_shutdown' );
|
181 |
-
add_action( 'woo_feed_cleanup_logs', 'woo_feed_cleanup_logs' );
|
182 |
-
/**
|
183 |
-
* Ensure Feed Plugin runs only if WooCommerce loaded (installed and activated)
|
184 |
-
*
|
185 |
-
* @since 3.1.41
|
186 |
-
*/
|
187 |
-
add_action( 'plugins_loaded', array( $plugin, 'run' ), PHP_INT_MAX );
|
188 |
-
add_action( 'admin_notices', 'wooFeed_Admin_Notices' );
|
189 |
-
add_action( 'admin_notices', 'wooFeed_To_ctxFeed' );
|
190 |
-
WooFeedWebAppickAPI::getInstance();
|
191 |
-
}
|
192 |
-
|
193 |
-
run_woo_feed();
|
194 |
-
}
|
195 |
-
|
196 |
-
// ======================================================================================================================*
|
197 |
-
//
|
198 |
-
// Ajax Feed Making Development Start.
|
199 |
-
//
|
200 |
-
// ======================================================================================================================*
|
201 |
-
if ( ! function_exists( 'woo_feed_get_product_information' ) ) {
|
202 |
-
add_action( 'wp_ajax_get_product_information', 'woo_feed_get_product_information' );
|
203 |
-
/**
|
204 |
-
* Count Total Products
|
205 |
-
*/
|
206 |
-
function woo_feed_get_product_information() {
|
207 |
-
check_ajax_referer( 'wpf_feed_nonce' );
|
208 |
-
if ( woo_feed_is_debugging_enabled() && ! current_user_can( 'manage_woocommerce' ) ) {
|
209 |
-
woo_feed_log_debug_message( 'User doesnt have enough permission.' );
|
210 |
-
wp_send_json_error( esc_html__( 'Unauthorized Action.', 'woo-feed' ) );
|
211 |
-
die();
|
212 |
-
}
|
213 |
-
// @TODO use only WC_Product_Query it's available from WC 3.2, we don't support earlier versions of wc.
|
214 |
-
if ( ! isset( $_REQUEST['feed'] ) ) {
|
215 |
-
wp_send_json_error( esc_html__( 'Invalid Request.', 'woo-feed' ) );
|
216 |
-
die();
|
217 |
-
}
|
218 |
-
$feed = sanitize_text_field( wp_unslash( $_REQUEST['feed'] ) );
|
219 |
-
$feed = woo_feed_extract_feed_option_name( $feed );
|
220 |
-
$limit = isset( $_REQUEST['limit'] ) ? absint( $_REQUEST['limit'] ) : 200;
|
221 |
-
$getConfig = maybe_unserialize( get_option( 'wf_config' . $feed ) );
|
222 |
-
|
223 |
-
if ( woo_feed_wc_version_check( 3.2 ) ) {
|
224 |
-
if ( woo_feed_is_debugging_enabled() ) {
|
225 |
-
// clear log, set the pointer to the beginning of the file.
|
226 |
-
woo_feed_delete_log( $getConfig['filename'] );
|
227 |
-
woo_feed_log_feed_process( $getConfig['filename'], sprintf( 'Getting Data for %s feed.', $feed ) );
|
228 |
-
woo_feed_log_feed_process( $getConfig['filename'], 'Generating Feed VIA Ajax...' );
|
229 |
-
woo_feed_log_feed_process( $getConfig['filename'], sprintf( 'Getting Data for %s feed.', $feed ) );
|
230 |
-
woo_feed_log_feed_process( $getConfig['filename'], sprintf( 'Current Limit is %d.', $limit ) );
|
231 |
-
woo_feed_log( $getConfig['filename'], 'Feed Config::' . PHP_EOL . print_r( $getConfig, true ), 'info' ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r
|
232 |
-
}
|
233 |
-
try {
|
234 |
-
do_action( 'before_woo_feed_get_product_information', $getConfig );
|
235 |
-
$products = new Woo_Feed_Products_v3( $getConfig );
|
236 |
-
$ids = $products->query_products();
|
237 |
-
do_action( 'after_woo_feed_get_product_information', $getConfig );
|
238 |
-
woo_feed_log_feed_process( $getConfig['filename'], sprintf( 'Total %d product found', is_array( $ids ) && ! empty( $ids ) ? count( $ids ) : 0 ) );
|
239 |
-
if ( is_array( $ids ) && ! empty( $ids ) ) {
|
240 |
-
rsort( $ids ); // sorting ids in descending order
|
241 |
-
if ( count( $ids ) > $limit ) {
|
242 |
-
$batches = array_chunk( $ids, $limit );
|
243 |
-
} else {
|
244 |
-
$batches = array( $ids );
|
245 |
-
}
|
246 |
-
woo_feed_log_feed_process( $getConfig['filename'], sprintf( 'Total %d batches', count( $batches ) ) );
|
247 |
-
wp_send_json_success(
|
248 |
-
array(
|
249 |
-
'product' => $batches,
|
250 |
-
'total' => count( $ids ),
|
251 |
-
'success' => true,
|
252 |
-
)
|
253 |
-
);
|
254 |
-
wp_die();
|
255 |
-
} else {
|
256 |
-
wp_send_json_error(
|
257 |
-
array(
|
258 |
-
'message' => esc_html__( 'No products found. Add product or change feed config before generate the feed.', 'woo-feed' ),
|
259 |
-
'success' => false,
|
260 |
-
)
|
261 |
-
);
|
262 |
-
wp_die();
|
263 |
-
}
|
264 |
-
} catch ( Exception $e ) {
|
265 |
-
if ( woo_feed_is_debugging_enabled() ) {
|
266 |
-
$message = 'Error getting Product Ids.' . PHP_EOL . 'Caught Exception :: ' . $e->getMessage();
|
267 |
-
woo_feed_log( $getConfig['filename'], $message, 'critical', $e, true );
|
268 |
-
woo_feed_log_fatal_error( $message, $e );
|
269 |
-
}
|
270 |
-
wp_send_json_error(
|
271 |
-
array(
|
272 |
-
'message' => esc_html__( 'Failed to fetch products.', 'woo-feed' ),
|
273 |
-
'success' => false,
|
274 |
-
)
|
275 |
-
);
|
276 |
-
wp_die();
|
277 |
-
}
|
278 |
-
} else {
|
279 |
-
do_action( 'before_woo_feed_get_product_information', $getConfig );
|
280 |
-
$products = wp_count_posts( 'product' );
|
281 |
-
do_action( 'after_woo_feed_get_product_information', $getConfig );
|
282 |
-
if ( $products->publish > 0 ) {
|
283 |
-
$data['success'] = true;
|
284 |
-
wp_send_json_success(
|
285 |
-
array(
|
286 |
-
'product' => $products->publish,
|
287 |
-
'success' => false,
|
288 |
-
)
|
289 |
-
);
|
290 |
-
wp_die();
|
291 |
-
} else {
|
292 |
-
wp_send_json_error(
|
293 |
-
array(
|
294 |
-
'message' => esc_html__( 'No products found. Add product or change feed config before generate the feed.', 'woo-feed' ),
|
295 |
-
'success' => false,
|
296 |
-
)
|
297 |
-
);
|
298 |
-
wp_die();
|
299 |
-
}
|
300 |
-
}
|
301 |
-
}
|
302 |
-
}
|
303 |
-
if ( ! function_exists( 'woo_feed_make_batch_feed' ) ) {
|
304 |
-
add_action( 'wp_ajax_make_batch_feed', 'woo_feed_make_batch_feed' );
|
305 |
-
/**
|
306 |
-
* Ajax Batch Callback
|
307 |
-
*
|
308 |
-
* @return void
|
309 |
-
*/
|
310 |
-
function woo_feed_make_batch_feed() {
|
311 |
-
check_ajax_referer( 'wpf_feed_nonce' );
|
312 |
-
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
313 |
-
woo_feed_log_debug_message( 'User doesnt have enough permission.' );
|
314 |
-
wp_send_json_error( esc_html__( 'Unauthorized Action.', 'woo-feed' ) );
|
315 |
-
die();
|
316 |
-
}
|
317 |
-
if ( ! isset( $_REQUEST['feed'] ) ) {
|
318 |
-
wp_send_json_error( esc_html__( 'Invalid Request.', 'woo-feed' ) );
|
319 |
-
die();
|
320 |
-
}
|
321 |
-
|
322 |
-
$feedName = woo_feed_extract_feed_option_name( sanitize_text_field( wp_unslash( $_REQUEST['feed'] ) ) );
|
323 |
-
$feedInfo = get_option( 'wf_config' . $feedName, false );
|
324 |
-
|
325 |
-
if ( ! $feedInfo ) {
|
326 |
-
$getFeedConfig = maybe_unserialize( get_option( 'wf_feed_' . $feedName ) );
|
327 |
-
$feedInfo = $getFeedConfig['feedrules'];
|
328 |
-
}
|
329 |
-
|
330 |
-
$feedInfo['productIds'] = isset( $_REQUEST['products'] ) ? array_map( 'absint', $_REQUEST['products'] ) : array();
|
331 |
-
$offset = isset( $_REQUEST['loop'] ) ? absint( $_REQUEST['loop'] ) : 0;
|
332 |
-
if ( woo_feed_is_debugging_enabled() ) {
|
333 |
-
if ( 0 === $offset ) {
|
334 |
-
woo_feed_log_feed_process( $feedInfo['filename'], 'Generating Feed... ' );
|
335 |
-
}
|
336 |
-
if ( woo_feed_is_debugging_enabled() ) {
|
337 |
-
woo_feed_log_feed_process( $feedInfo['filename'], sprintf( 'Processing Loop %d.', ( $offset + 1 ) ) );
|
338 |
-
$m = 'Processing Product Following Product (IDs) : ' . PHP_EOL;
|
339 |
-
foreach ( array_chunk( $feedInfo['productIds'], 10 ) as $productIds ) { // pretty print log [B-)=
|
340 |
-
$m .= implode( ', ', $productIds ) . PHP_EOL;
|
341 |
-
}
|
342 |
-
woo_feed_log_feed_process( $feedInfo['filename'], $m );
|
343 |
-
}
|
344 |
-
}
|
345 |
-
|
346 |
-
if ( 0 === $offset ) {
|
347 |
-
woo_feed_unlink_tempFiles( $feedInfo, $feedName );
|
348 |
-
}
|
349 |
-
$feed_data = woo_feed_generate_batch_data( $feedInfo, $feedName );
|
350 |
-
if ( $feed_data ) {
|
351 |
-
woo_feed_log_feed_process( $feedInfo['filename'], sprintf( 'Done Processing Loop %d.', ( $offset + 1 ) ) );
|
352 |
-
wp_send_json_success(
|
353 |
-
array(
|
354 |
-
'success' => true,
|
355 |
-
'products' => 'yes',
|
356 |
-
)
|
357 |
-
);
|
358 |
-
} else {
|
359 |
-
woo_feed_log_feed_process( $feedInfo['filename'], sprintf( 'No Products found @ Loop %d.', $offset ) );
|
360 |
-
wp_send_json_success(
|
361 |
-
array(
|
362 |
-
'success' => true,
|
363 |
-
'products' => 'no',
|
364 |
-
'config' => $feedInfo,
|
365 |
-
)
|
366 |
-
);
|
367 |
-
}
|
368 |
-
wp_die();
|
369 |
-
}
|
370 |
-
}
|
371 |
-
if ( ! function_exists( 'woo_feed_save_feed_file' ) ) {
|
372 |
-
add_action( 'wp_ajax_save_feed_file', 'woo_feed_save_feed_file' );
|
373 |
-
/**
|
374 |
-
* Ajax Response for Save Feed File
|
375 |
-
*
|
376 |
-
* @throws Exception
|
377 |
-
* @return void
|
378 |
-
*/
|
379 |
-
function woo_feed_save_feed_file() {
|
380 |
-
check_ajax_referer( 'wpf_feed_nonce' );
|
381 |
-
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
382 |
-
woo_feed_log_debug_message( 'User doesnt have enough permission.' );
|
383 |
-
wp_send_json_error( esc_html__( 'Unauthorized Action.', 'woo-feed' ) );
|
384 |
-
die();
|
385 |
-
}
|
386 |
-
if ( ! isset( $_REQUEST['feed'] ) ) {
|
387 |
-
wp_send_json_error( esc_html__( 'Invalid Feed.', 'woo-feed' ) );
|
388 |
-
die();
|
389 |
-
}
|
390 |
-
|
391 |
-
$feedName = woo_feed_extract_feed_option_name( sanitize_text_field( wp_unslash( $_REQUEST['feed'] ) ) );
|
392 |
-
$info = get_option( 'wf_config' . $feedName, false );
|
393 |
-
|
394 |
-
if ( ! $info ) {
|
395 |
-
$getFeedConfig = maybe_unserialize( get_option( 'wf_feed_' . $feedName ) );
|
396 |
-
$info = $getFeedConfig['feedrules'];
|
397 |
-
}
|
398 |
-
|
399 |
-
$feedService = $info['provider'];
|
400 |
-
$type = $info['feedType'];
|
401 |
-
woo_feed_log_feed_process( $info['filename'], sprintf( 'Preparing Final Feed (%s) File...', $type ) );
|
402 |
-
woo_feed_log_feed_process( $info['filename'], 'Getting Batch Chunks' );
|
403 |
-
$feedHeader = woo_feed_get_batch_feed_info( $feedService, $type, 'wf_store_feed_header_info_' . $feedName );
|
404 |
-
if ( ! $feedHeader ) {
|
405 |
-
woo_feed_log_feed_process( $info['filename'], 'Unable to Get Header Chunk' );
|
406 |
-
}
|
407 |
-
$feedBody = woo_feed_get_batch_feed_info( $feedService, $type, 'wf_store_feed_body_info_' . $feedName );
|
408 |
-
if ( ! $feedBody ) {
|
409 |
-
woo_feed_log_feed_process( $info['filename'], 'Unable to Get Body Chunk' );
|
410 |
-
}
|
411 |
-
$feedFooter = woo_feed_get_batch_feed_info( $feedService, $type, 'wf_store_feed_footer_info_' . $feedName );
|
412 |
-
if ( ! $feedFooter ) {
|
413 |
-
woo_feed_log_feed_process( $info['filename'], 'Unable to Get Footer Chunk' );
|
414 |
-
}
|
415 |
-
|
416 |
-
// make file xml string
|
417 |
-
if ( isset( $info['provider'] ) && 'googlereview' === $info['provider'] ) {
|
418 |
-
// review template xml string
|
419 |
-
$string = $feedHeader . $feedBody . $feedFooter;
|
420 |
-
|
421 |
-
} else {
|
422 |
-
if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type ) {
|
423 |
-
$csvHead[0] = $feedHeader;
|
424 |
-
if ( ! empty( $csvHead ) && ! empty( $feedBody ) ) {
|
425 |
-
$string = array_merge( $csvHead, $feedBody );
|
426 |
-
} else {
|
427 |
-
$string = array();
|
428 |
-
}
|
429 |
-
} else {
|
430 |
-
$string = $feedHeader . $feedBody . $feedFooter;
|
431 |
-
}
|
432 |
-
}
|
433 |
-
|
434 |
-
$upload_dir = wp_get_upload_dir();
|
435 |
-
$path = $upload_dir['basedir'] . '/woo-feed/' . $feedService . '/' . $type;
|
436 |
-
$saveFile = false;
|
437 |
-
$file = '';
|
438 |
-
// Check If any products founds
|
439 |
-
if ( $string && ! empty( $string ) ) {
|
440 |
-
// Save File
|
441 |
-
$file = $path . '/' . $feedName . '.' . $type;
|
442 |
-
try {
|
443 |
-
$save = new Woo_Feed_Savefile();
|
444 |
-
if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type ) {
|
445 |
-
$saveFile = $save->saveValueFile( $path, $file, $string, $info, $type );
|
446 |
-
} else {
|
447 |
-
$saveFile = $save->saveFile( $path, $file, $string );
|
448 |
-
}
|
449 |
-
if ( $saveFile ) {
|
450 |
-
$message = 'Feed File Successfully Saved.';
|
451 |
-
} else {
|
452 |
-
$message = 'Unable to save Feed file. Check Directory Permission.';
|
453 |
-
}
|
454 |
-
woo_feed_log_feed_process( $info['filename'], $message );
|
455 |
-
} catch ( Exception $e ) {
|
456 |
-
$message = 'Error Saving Feed File' . PHP_EOL . 'Caught Exception :: ' . $e->getMessage();
|
457 |
-
woo_feed_log( $info['filename'], $message, 'critical', $e, true );
|
458 |
-
woo_feed_log_fatal_error( $message, $e );
|
459 |
-
}
|
460 |
-
} else {
|
461 |
-
woo_feed_log_feed_process( $info['filename'], 'No Product Found... Exiting File Save Process...' );
|
462 |
-
if ( isset( $info['fattribute'] ) && count( $info['fattribute'] ) ) {
|
463 |
-
$data = array(
|
464 |
-
'success' => false,
|
465 |
-
'message' => esc_html__( 'Products not found with your filtering condition.', 'woo-feed' ),
|
466 |
-
);
|
467 |
-
} else {
|
468 |
-
$data = array(
|
469 |
-
'success' => false,
|
470 |
-
'message' => esc_html__( 'No Product Found with your feed configuration. Please Update And Generate the feed again.', 'woo-feed' ),
|
471 |
-
);
|
472 |
-
}
|
473 |
-
wp_send_json_error( $data );
|
474 |
-
wp_die();
|
475 |
-
}
|
476 |
-
|
477 |
-
$feed_URL = woo_feed_get_file_url( $feedName, $feedService, $type );
|
478 |
-
// Save Info into database.
|
479 |
-
$feedInfo = array(
|
480 |
-
'feedrules' => $info,
|
481 |
-
'url' => $feed_URL,
|
482 |
-
'last_updated' => date( 'Y-m-d H:i:s', strtotime( current_time( 'mysql' ) ) ),
|
483 |
-
);
|
484 |
-
$feedOldInfo = maybe_unserialize( get_option( 'wf_feed_' . $feedName ) );
|
485 |
-
if ( isset( $feedOldInfo['status'] ) ) {
|
486 |
-
$feedInfo['status'] = $feedOldInfo['status'];
|
487 |
-
} else {
|
488 |
-
$feedInfo['status'] = 1;
|
489 |
-
}
|
490 |
-
|
491 |
-
woo_feed_unlink_tempFiles( $info, $feedName );
|
492 |
-
|
493 |
-
woo_feed_log_feed_process( $info['filename'], 'Updating Feed Information.' );
|
494 |
-
|
495 |
-
update_option( 'wf_feed_' . $feedName, serialize( $feedInfo ), false ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize
|
496 |
-
|
497 |
-
if ( $saveFile ) {
|
498 |
-
// FTP File Upload Info
|
499 |
-
$ftpEnabled = sanitize_text_field( $info['ftpenabled'] );
|
500 |
-
|
501 |
-
if ( $ftpEnabled ) {
|
502 |
-
woo_feed_handle_file_transfer( $file, $feedName . '.' . $type, $info );
|
503 |
-
}
|
504 |
-
|
505 |
-
$cat = woo_feed_check_google_category( $feedInfo );
|
506 |
-
$data = array(
|
507 |
-
'info' => $feedInfo,
|
508 |
-
'url' => $feed_URL,
|
509 |
-
'cat' => $cat,
|
510 |
-
'message' => esc_html__( 'Feed Making Complete', 'woo-feed' ),
|
511 |
-
);
|
512 |
-
woo_feed_log_feed_process( $info['filename'], 'Done Processing Feed. Exiting Process...' );
|
513 |
-
wp_send_json_success( $data );
|
514 |
-
} else {
|
515 |
-
woo_feed_log_feed_process( $info['filename'], 'Done Processing Feed. Exiting Process...' );
|
516 |
-
$data = array(
|
517 |
-
'success' => false,
|
518 |
-
'message' => esc_html__( 'Failed to save feed file. Please confirm that your WordPress directory have read and write permission.', 'woo-feed' ),
|
519 |
-
);
|
520 |
-
wp_send_json_error( $data );
|
521 |
-
}
|
522 |
-
wp_die();
|
523 |
-
}
|
524 |
-
}
|
525 |
-
// Ajax Helper.
|
526 |
-
if ( ! function_exists( 'woo_feed_generate_batch_data' ) ) {
|
527 |
-
/**
|
528 |
-
* Generate Feed Data
|
529 |
-
*
|
530 |
-
* @param array $info Feed info.
|
531 |
-
* @param string $feedSlug feed option slug.
|
532 |
-
*
|
533 |
-
* @return bool
|
534 |
-
*/
|
535 |
-
function woo_feed_generate_batch_data( $info, $feedSlug ) {
|
536 |
-
// parse rules.
|
537 |
-
$info = woo_feed_parse_feed_rules( isset( $info['feedrules'] ) ? $info['feedrules'] : $info );
|
538 |
-
|
539 |
-
try {
|
540 |
-
do_action( 'before_woo_feed_generate_batch_data', $info );
|
541 |
-
$status = false;
|
542 |
-
if ( ! empty( $info['provider'] ) ) {
|
543 |
-
// Get Post data.
|
544 |
-
$feedService = sanitize_text_field( $info['provider'] );
|
545 |
-
$type = sanitize_text_field( $info['feedType'] );
|
546 |
-
$feedRules = $info;
|
547 |
-
// Get Feed info.
|
548 |
-
$products = new Woo_Generate_Feed( $feedService, $feedRules );
|
549 |
-
woo_feed_log_feed_process( $info['filename'], sprintf( 'Initializing merchant Class %s for %s', $feedService, $info['provider'] ) );
|
550 |
-
$feed = $products->getProducts();
|
551 |
-
if ( ! empty( $feed['body'] ) ) {
|
552 |
-
$feedBody = 'wf_store_feed_body_info_' . $feedSlug;
|
553 |
-
$prevFeed = woo_feed_get_batch_feed_info( $feedService, $type, $feedBody );
|
554 |
-
if ( $prevFeed ) {
|
555 |
-
if ( 'csv' === $type || 'tsv' === $type || 'xls' === $type ) {
|
556 |
-
if ( ! empty( $prevFeed ) ) {
|
557 |
-
$newFeed = array_merge( $prevFeed, $feed['body'] );
|
558 |
-
woo_feed_save_batch_feed_info( $feedService, $type, $newFeed, $feedBody, $info );
|
559 |
-
}
|
560 |
-
} else {
|
561 |
-
$newFeed = $prevFeed . $feed['body'];
|
562 |
-
woo_feed_save_batch_feed_info( $feedService, $type, $newFeed, $feedBody, $info );
|
563 |
-
}
|
564 |
-
} else {
|
565 |
-
woo_feed_save_batch_feed_info( $feedService, $type, $feed['body'], $feedBody, $info );
|
566 |
-
}
|
567 |
-
woo_feed_save_batch_feed_info( $feedService, $type, $feed['header'], 'wf_store_feed_header_info_' . $feedSlug, $info );
|
568 |
-
woo_feed_save_batch_feed_info( $feedService, $type, $feed['footer'], 'wf_store_feed_footer_info_' . $feedSlug, $info );
|
569 |
-
$status = true;
|
570 |
-
} else {
|
571 |
-
$status = false;
|
572 |
-
}
|
573 |
-
}
|
574 |
-
do_action( 'after_woo_feed_generate_batch_data', $info );
|
575 |
-
return $status;
|
576 |
-
} catch ( Exception $e ) {
|
577 |
-
$message = 'Error Generating Product Data.' . PHP_EOL . 'Caught Exception :: ' . $e->getMessage();
|
578 |
-
woo_feed_log( $info['filename'], $message, 'critical', $e, true );
|
579 |
-
woo_feed_log_fatal_error( $message, $e );
|
580 |
-
return false;
|
581 |
-
}
|
582 |
-
}
|
583 |
-
}
|
584 |
-
|
585 |
-
// Menu Callback.
|
586 |
-
if ( ! function_exists( 'woo_feed_generate_new_feed' ) ) {
|
587 |
-
/**
|
588 |
-
* Generate Feed
|
589 |
-
*/
|
590 |
-
function woo_feed_generate_new_feed() {
|
591 |
-
if ( isset( $_POST['provider'], $_POST['_wpnonce'], $_POST['filename'], $_POST['feedType'] ) ) {
|
592 |
-
// Verify Nonce.
|
593 |
-
if ( ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ), 'woo_feed_form_nonce' ) ) {
|
594 |
-
wp_die( esc_html__( 'Failed security check', 'woo-feed' ), 403 );
|
595 |
-
}
|
596 |
-
// Check feed type (file ext).
|
597 |
-
if ( ! woo_feed_check_valid_extension( sanitize_text_field( wp_unslash( $_POST['feedType'] ) ) ) ) {
|
598 |
-
wp_die( esc_html__( 'Invalid Feed Type!', 'woo-feed' ), 400 );
|
599 |
-
}
|
600 |
-
|
601 |
-
$fileName = woo_feed_save_feed_config_data( $_POST );
|
602 |
-
|
603 |
-
wp_safe_redirect(
|
604 |
-
add_query_arg(
|
605 |
-
array(
|
606 |
-
'feed_created' => (int) false !== $fileName,
|
607 |
-
'feed_regenerate' => 1,
|
608 |
-
'feed_name' => $fileName ? $fileName : '',
|
609 |
-
),
|
610 |
-
admin_url( 'admin.php?page=webappick-manage-feeds' )
|
611 |
-
)
|
612 |
-
);
|
613 |
-
wp_die();
|
614 |
-
}
|
615 |
-
|
616 |
-
require WOO_FEED_FREE_ADMIN_PATH . 'partials/woo-feed-admin-display.php';
|
617 |
-
}
|
618 |
-
}
|
619 |
-
if ( ! function_exists( 'woo_feed_manage_feed' ) ) {
|
620 |
-
/**
|
621 |
-
* Manage Feeds
|
622 |
-
*/
|
623 |
-
function woo_feed_manage_feed() {
|
624 |
-
|
625 |
-
// @TODO use admin_post_ action for form handling.
|
626 |
-
// Manage action for category mapping.
|
627 |
-
if ( isset( $_GET['action'] ) && 'edit-feed' === $_GET['action'] ) {
|
628 |
-
if ( ! defined( 'WOO_FEED_EDIT_CONFIG' ) ) {
|
629 |
-
define( 'WOO_FEED_EDIT_CONFIG', true );
|
630 |
-
}
|
631 |
-
if ( count( $_POST ) && isset( $_POST['provider'], $_POST['feed_id'], $_POST['feed_option_name'], $_POST['filename'], $_POST['feedType'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
|
632 |
-
$nonce = isset( $_POST['_wpnonce'] ) && ! empty( $_POST['_wpnonce'] ) ? sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ) : '';
|
633 |
-
if ( ! wp_verify_nonce( $nonce, 'wf_edit_feed' ) ) {
|
634 |
-
wp_die( esc_html__( 'Failed security check', 'woo-feed' ), 403 );
|
635 |
-
}
|
636 |
-
// Check feed type (file ext)
|
637 |
-
if ( ! woo_feed_check_valid_extension( sanitize_text_field( wp_unslash( $_POST['feedType'] ) ) ) ) {
|
638 |
-
wp_die( esc_html__( 'Invalid Feed Type!', 'woo-feed' ), 400 );
|
639 |
-
}
|
640 |
-
|
641 |
-
// check if name is changed... save as new, rename feed isn't implemented ... it can be...
|
642 |
-
// delete old feed save data as new feed.
|
643 |
-
$feed_option_name = ( isset( $_POST['feed_option_name'] ) && ! empty( $_POST['feed_option_name'] ) ) ? sanitize_text_field( wp_unslash( $_POST['feed_option_name'] ) ) : null;
|
644 |
-
// if ( $_POST['filename'] !== $_POST['feed_option_name'] ) {
|
645 |
-
// $feed_option_name = ( isset( $_POST['filename'] ) && ! empty( $_POST['filename'] ) ) ? sanitize_text_field( $_POST['filename'] ) : null;
|
646 |
-
// Delete old feed info & file
|
647 |
-
// delete_option( 'wf_feed_' . $_POST['feed_option_name'] );
|
648 |
-
// delete_option( 'wf_config' . $_POST['feed_option_name'] );
|
649 |
-
//
|
650 |
-
// $upload_dir = wp_get_upload_dir();
|
651 |
-
// $feedService = $_POST['provider'];
|
652 |
-
// $type = $_POST['feedType'];
|
653 |
-
// $old_name = $_POST['feed_option_name'];
|
654 |
-
// $path = $upload_dir['basedir'] . '/woo-feed/' . $feedService . '/' . $type . '/' . $old_name . '.' . $type;
|
655 |
-
// if ( file_exists( $path ) ) {
|
656 |
-
// unlink( $path );
|
657 |
-
// }
|
658 |
-
// }
|
659 |
-
// if form submitted via $_POST['edit-feed'] then only config and regenerate otherwise only update the config...
|
660 |
-
// no need to check other submit button ... eg. $_POST['save_feed_config']
|
661 |
-
$fileName = woo_feed_save_feed_config_data( $_POST, $feed_option_name, isset( $_POST['edit-feed'] ) );
|
662 |
-
// redirect to the feed list with status
|
663 |
-
// @TODO this should be handled in admin_init action for proper redirection to work...
|
664 |
-
wp_safe_redirect(
|
665 |
-
add_query_arg(
|
666 |
-
array(
|
667 |
-
'feed_updated' => (int) false !== $fileName,
|
668 |
-
'feed_regenerate' => (int) isset( $_POST['edit-feed'] ),
|
669 |
-
'feed_name' => $fileName ? $fileName : '',
|
670 |
-
),
|
671 |
-
admin_url( 'admin.php?page=webappick-manage-feeds' )
|
672 |
-
)
|
673 |
-
);
|
674 |
-
die();
|
675 |
-
}
|
676 |
-
if ( isset( $_GET['feed'] ) && ! empty( $_GET['feed'] ) ) {
|
677 |
-
global $wpdb, $feedRules, $feedName, $feedId, $provider;
|
678 |
-
$feedName = sanitize_text_field( wp_unslash( $_GET['feed'] ) );
|
679 |
-
$feedInfo = maybe_unserialize( get_option( $feedName ) );
|
680 |
-
if ( false !== $feedInfo ) {
|
681 |
-
$query = $wpdb->prepare( "SELECT option_id FROM $wpdb->options WHERE option_name = %s LIMIT 1", $feedName );
|
682 |
-
if ( ! $feedId ) {
|
683 |
-
$result = $wpdb->get_row( $query ); // phpcs:ignore
|
684 |
-
if ( $result ) {
|
685 |
-
$feedId = $result->option_id;
|
686 |
-
}
|
687 |
-
}
|
688 |
-
$provider = strtolower( $feedInfo['feedrules']['provider'] );
|
689 |
-
$feedRules = $feedInfo['feedrules'];
|
690 |
-
require WOO_FEED_FREE_ADMIN_PATH . 'partials/woo-feed-edit-template.php';
|
691 |
-
} else {
|
692 |
-
update_option( 'wpf_message', esc_html__( 'Feed Does not Exists.', 'woo-feed' ), false );
|
693 |
-
wp_safe_redirect( admin_url( 'admin.php?page=webappick-manage-feeds&wpf_message=error' ) );
|
694 |
-
die();
|
695 |
-
}
|
696 |
-
}
|
697 |
-
} else {
|
698 |
-
// Update Interval.
|
699 |
-
if ( isset( $_POST['wf_schedule'] ) ) {
|
700 |
-
if ( isset( $_POST['wf_schedule_nonce'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['wf_schedule_nonce'] ) ), 'wf_schedule' ) ) {
|
701 |
-
$interval = absint( $_POST['wf_schedule'] );
|
702 |
-
if ( $interval >= woo_feed_get_minimum_interval_option() ) {
|
703 |
-
if ( update_option( 'wf_schedule', sanitize_text_field( wp_unslash( $_POST['wf_schedule'] ) ), false ) ) {
|
704 |
-
wp_clear_scheduled_hook( 'woo_feed_update' );
|
705 |
-
add_filter( 'cron_schedules', 'Woo_Feed_installer::cron_schedules' ); // phpcs:ignore
|
706 |
-
// wp_schedule_event( time(), 'woo_feed_corn', 'woo_feed_update' );
|
707 |
-
$update = 1; // success.
|
708 |
-
} else {
|
709 |
-
$update = 2; // db fail.
|
710 |
-
}
|
711 |
-
} else {
|
712 |
-
$update = 3; // invalid value.
|
713 |
-
}
|
714 |
-
} else {
|
715 |
-
$update = 4; // invalid nonce.
|
716 |
-
}
|
717 |
-
wp_safe_redirect( add_query_arg( array( 'schedule_updated' => $update ), admin_url( 'admin.php?page=webappick-manage-feeds' ) ) );
|
718 |
-
die();
|
719 |
-
}
|
720 |
-
require WOO_FEED_FREE_ADMIN_PATH . 'partials/woo-feed-manage-list.php';
|
721 |
-
}
|
722 |
-
}
|
723 |
-
}
|
724 |
-
|
725 |
-
// Get Merchant template.
|
726 |
-
if ( ! function_exists( 'feed_merchant_view' ) ) {
|
727 |
-
// Load Feed Templates.
|
728 |
-
add_action( 'wp_ajax_get_feed_merchant', 'feed_merchant_view' );
|
729 |
-
/**
|
730 |
-
* Ajax response for Create/Add Feed config table for selected Merchant/Provider
|
731 |
-
*
|
732 |
-
* @return void
|
733 |
-
*/
|
734 |
-
function feed_merchant_view() {
|
735 |
-
check_ajax_referer( 'wpf_feed_nonce' );
|
736 |
-
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
737 |
-
woo_feed_log_debug_message( 'User doesnt have enough permission.' );
|
738 |
-
wp_send_json_error( esc_html__( 'Unauthorized Action.', 'woo-feed' ) );
|
739 |
-
die();
|
740 |
-
}
|
741 |
-
global $feedRules, $wooFeedDropDown, $merchant, $provider;
|
742 |
-
$provider = isset( $_REQUEST['merchant'] ) && ! empty( $_REQUEST['merchant'] ) ? strtolower( sanitize_text_field( wp_unslash( $_REQUEST['merchant'] ) ) ) : '';
|
743 |
-
if ( empty( $provider ) ) {
|
744 |
-
wp_send_json_error( esc_html__( 'Invalid Merchant', 'woo-feed' ) );
|
745 |
-
wp_die();
|
746 |
-
}
|
747 |
-
$merchant = new Woo_Feed_Merchant( $provider );
|
748 |
-
$feedRules = $merchant->get_template();
|
749 |
-
$wooFeedDropDown = new Woo_Feed_Dropdown();
|
750 |
-
ob_start();
|
751 |
-
require_once WOO_FEED_FREE_ADMIN_PATH . 'partials/woo-feed-edit-tabs.php';
|
752 |
-
wp_send_json_success(
|
753 |
-
array(
|
754 |
-
'tabs' => ob_get_clean(),
|
755 |
-
'feedType' => strtolower( $merchant->get_feed_types( true ) ),
|
756 |
-
'itemsWrapper' => $feedRules['itemsWrapper'],
|
757 |
-
'itemWrapper' => $feedRules['itemWrapper'],
|
758 |
-
'delimiter' => $feedRules['delimiter'],
|
759 |
-
'enclosure' => $feedRules['enclosure'],
|
760 |
-
'extraHeader' => $feedRules['extraHeader'],
|
761 |
-
)
|
762 |
-
);
|
763 |
-
wp_die();
|
764 |
-
}
|
765 |
-
}
|
766 |
-
// Get Google Categories.
|
767 |
-
if ( ! function_exists( 'woo_feed_get_google_categories' ) ) {
|
768 |
-
add_action( 'wp_ajax_get_google_categories', 'woo_feed_get_google_categories' );
|
769 |
-
/**
|
770 |
-
* Ajax Response for Google Category Dropdown Data
|
771 |
-
*
|
772 |
-
* @return void
|
773 |
-
*/
|
774 |
-
function woo_feed_get_google_categories() {
|
775 |
-
check_ajax_referer( 'wpf_feed_nonce' );
|
776 |
-
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
777 |
-
woo_feed_log_debug_message( 'User doesnt have enough permission.' );
|
778 |
-
wp_send_json_error( esc_html__( 'Unauthorized Action.', 'woo-feed' ) );
|
779 |
-
wp_die();
|
780 |
-
}
|
781 |
-
$wooFeedDropDown = new Woo_Feed_Dropdown();
|
782 |
-
wp_send_json_success( $wooFeedDropDown->googleTaxonomyArray() );
|
783 |
-
die();
|
784 |
-
}
|
785 |
-
}
|
786 |
-
// sftp status detection.
|
787 |
-
if ( ! function_exists( 'woo_feed_get_ssh2_status' ) ) {
|
788 |
-
add_action( 'wp_ajax_get_ssh2_status', 'woo_feed_get_ssh2_status' );
|
789 |
-
/**
|
790 |
-
* Ajax Response for ssh2 status check
|
791 |
-
*
|
792 |
-
* @return void
|
793 |
-
*/
|
794 |
-
function woo_feed_get_ssh2_status() {
|
795 |
-
check_ajax_referer( 'wpf_feed_nonce' );
|
796 |
-
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
797 |
-
woo_feed_log_debug_message( 'User doesnt have enough permission.' );
|
798 |
-
wp_send_json_error( esc_html__( 'Unauthorized Action.', 'woo-feed' ) );
|
799 |
-
wp_die();
|
800 |
-
}
|
801 |
-
if ( extension_loaded( 'ssh2' ) ) {
|
802 |
-
wp_send_json_success( 'exists' );
|
803 |
-
} else {
|
804 |
-
wp_send_json_success( 'not_exists' );
|
805 |
-
}
|
806 |
-
wp_die();
|
807 |
-
}
|
808 |
-
}
|
809 |
-
// Feed cron status update.
|
810 |
-
if ( ! function_exists( 'woo_feed_update_feed_status' ) ) {
|
811 |
-
/**
|
812 |
-
* Update feed status
|
813 |
-
*/
|
814 |
-
add_action( 'wp_ajax_update_feed_status', 'woo_feed_update_feed_status' );
|
815 |
-
/**
|
816 |
-
* Ajax Response for Update Feed Status
|
817 |
-
*
|
818 |
-
* @return void
|
819 |
-
*/
|
820 |
-
function woo_feed_update_feed_status() {
|
821 |
-
check_ajax_referer( 'wpf_feed_nonce' );
|
822 |
-
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
823 |
-
woo_feed_log_debug_message( 'User doesnt have enough permission.' );
|
824 |
-
wp_send_json_error( esc_html__( 'Unauthorized Action.', 'woo-feed' ) );
|
825 |
-
wp_die();
|
826 |
-
}
|
827 |
-
|
828 |
-
$feedName = isset( $_POST['feedName'] ) ? sanitize_text_field( wp_unslash( $_POST['feedName'] ) ) : '';
|
829 |
-
if ( ! empty( $feedName ) ) {
|
830 |
-
$feedInfo = maybe_unserialize( get_option( $feedName ) );
|
831 |
-
$feedInfo['status'] = isset( $_POST['status'] ) && 1 === (int) $_POST['status'] ? 1 : 0;
|
832 |
-
|
833 |
-
$feed_slug = str_replace( 'wf_feed_', 'wf_config', $feedName );
|
834 |
-
if ( 1 === $feedInfo['status'] ) {
|
835 |
-
if ( ! wp_next_scheduled( 'woo_feed_update_single_feed', array( $feed_slug ) ) ) {
|
836 |
-
wp_schedule_event( time(), 'woo_feed_corn', 'woo_feed_update_single_feed', array( $feed_slug ) );
|
837 |
-
}
|
838 |
-
} else {
|
839 |
-
wp_clear_scheduled_hook( 'woo_feed_update_single_feed', array( $feed_slug ) );
|
840 |
-
}
|
841 |
-
|
842 |
-
update_option( $feedName, serialize( $feedInfo ), false ); // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize
|
843 |
-
wp_send_json_success( array( 'status' => true ) );
|
844 |
-
} else {
|
845 |
-
wp_send_json_error( array( 'status' => false ) );
|
846 |
-
}
|
847 |
-
wp_die();
|
848 |
-
}
|
849 |
-
}
|
850 |
-
|
851 |
-
// Render and handle status page options.
|
852 |
-
if ( ! function_exists( 'woo_feed_system_status' ) ) {
|
853 |
-
/**
|
854 |
-
* Feed Status Page
|
855 |
-
*
|
856 |
-
* @return void
|
857 |
-
*/
|
858 |
-
function woo_feed_system_status() {
|
859 |
-
require WOO_FEED_FREE_ADMIN_PATH . 'partials/woo-feed-status.php';
|
860 |
-
}
|
861 |
-
}
|
862 |
-
|
863 |
-
// Render and handle settings page options.
|
864 |
-
if ( ! function_exists( 'woo_feed_config_feed' ) ) {
|
865 |
-
/**
|
866 |
-
* Feed Settings Page
|
867 |
-
*
|
868 |
-
* @return void
|
869 |
-
*/
|
870 |
-
function woo_feed_config_feed() {
|
871 |
-
if ( isset( $_POST['wa_woo_feed_config'], $_POST['_wpnonce'] ) ) {
|
872 |
-
check_admin_referer( 'woo-feed-config' );
|
873 |
-
|
874 |
-
$data = array(
|
875 |
-
'per_batch' => isset( $_POST['batch_limit'] ) ? absint( $_POST['batch_limit'] ) : '',
|
876 |
-
'product_query_type' => isset( $_POST['product_query_type'] ) ? sanitize_text_field( wp_unslash( $_POST['product_query_type'] ) ) : '',
|
877 |
-
'enable_error_debugging' => isset( $_POST['enable_error_debugging'] ) ? sanitize_text_field( wp_unslash( $_POST['enable_error_debugging'] ) ) : '',
|
878 |
-
'cache_ttl' => isset( $_POST['cache_ttl'] ) ? absint( $_POST['cache_ttl'] ) : '',
|
879 |
-
'overridden_structured_data' => isset( $_POST['overridden_structured_data'] ) ? sanitize_text_field( wp_unslash( $_POST['overridden_structured_data'] ) ) : '',
|
880 |
-
'disable_mpn' => isset( $_POST['disable_mpn'] ) ? sanitize_text_field( wp_unslash( $_POST['disable_mpn'] ) ) : '',
|
881 |
-
'disable_brand' => isset( $_POST['disable_brand'] ) ? sanitize_text_field( wp_unslash( $_POST['disable_brand'] ) ) : '',
|
882 |
-
'disable_pixel' => isset( $_POST['disable_pixel'] ) ? sanitize_text_field( wp_unslash( $_POST['disable_pixel'] )) : '',
|
883 |
-
'pixel_id' => isset( $_POST['pixel_id'] ) ? sanitize_text_field( wp_unslash( $_POST['pixel_id'] )) : '',
|
884 |
-
'allow_all_shipping' => isset( $_POST['allow_all_shipping'] ) ? sanitize_text_field( wp_unslash( $_POST['allow_all_shipping'] ) ) : '',
|
885 |
-
'only_free_shipping' => isset( $_POST['only_free_shipping'] ) ? sanitize_text_field( wp_unslash( $_POST['only_free_shipping'] ) ) : '',
|
886 |
-
'only_local_pickup_shipping' => isset( $_POST['only_local_pickup_shipping'] ) ? sanitize_text_field( wp_unslash( $_POST['only_local_pickup_shipping'] ) ) : '',
|
887 |
-
);
|
888 |
-
|
889 |
-
woo_feed_save_options( $data );
|
890 |
-
|
891 |
-
// $currencyAPI = isset( $_POST['currency_api_code'] ) ? sanitize_text_field( $_POST['currency_api_code'] ) : '';
|
892 |
-
// update_option( 'woo_feed_currency_api_code', $currencyAPI, false );
|
893 |
-
|
894 |
-
if ( isset( $_POST['opt_in'] ) && 'on' === $_POST['opt_in'] ) {
|
895 |
-
WooFeedWebAppickAPI::getInstance()->trackerOptIn();
|
896 |
-
} else {
|
897 |
-
WooFeedWebAppickAPI::getInstance()->trackerOptOut();
|
898 |
-
}
|
899 |
-
// Actions exec by user from settings page
|
900 |
-
if ( isset( $_POST['clear_all_logs'] ) && 'on' === $_POST['clear_all_logs'] ) {
|
901 |
-
woo_feed_delete_all_logs();
|
902 |
-
}
|
903 |
-
if ( isset( $_POST['purge_feed_cache'] ) ) {
|
904 |
-
woo_feed_flush_cache_data();
|
905 |
-
}
|
906 |
-
|
907 |
-
wp_safe_redirect( admin_url( 'admin.php?page=webappick-feed-settings&settings_updated=1' ) );
|
908 |
-
die();
|
909 |
-
}
|
910 |
-
|
911 |
-
require WOO_FEED_FREE_ADMIN_PATH . 'partials/woo-feed-settings.php';
|
912 |
-
}
|
913 |
-
}
|
914 |
-
if ( ! function_exists( 'woo_feed_flash_cache_action' ) ) {
|
915 |
-
/**
|
916 |
-
* Flash cache after specific actions
|
917 |
-
*
|
918 |
-
* @return void
|
919 |
-
*/
|
920 |
-
function woo_feed_flash_cache_action() {
|
921 |
-
woo_feed_flush_cache_data();
|
922 |
-
}
|
923 |
-
}
|
924 |
-
|
925 |
-
// add_action('woocommerce_after_add_attribute_fields','woo_feed_flash_cache_action');
|
926 |
-
// add_action('woocommerce_after_edit_attribute_fields','woo_feed_flash_cache_action');
|
927 |
-
|
928 |
-
|
929 |
-
// Suggest other plugins of webappick.
|
930 |
-
if ( ! class_exists( 'webappick_suggest_plugin' ) ) {
|
931 |
-
class webappick_suggest_plugin {
|
932 |
-
|
933 |
-
static function init() {
|
934 |
-
if ( is_admin() ) {
|
935 |
-
if( ! is_plugin_active('xt-woo-variation-swatches/xt-woo-variation-swatches.php') ) {
|
936 |
-
add_filter( 'install_plugins_table_api_args_featured', array( __CLASS__, 'featured_plugins_tab' ) );
|
937 |
-
}
|
938 |
-
}
|
939 |
-
} // init
|
940 |
-
// add our plugins to recommended list
|
941 |
-
static function plugins_api_result( $res, $action, $args ) {
|
942 |
-
remove_filter( 'plugins_api_result', array( __CLASS__, 'plugins_api_result' ), 10, 1 );
|
943 |
-
$res = self::add_plugin_favs( 'webappick-pdf-invoice-for-woocommerce', $res );
|
944 |
-
|
945 |
-
return $res;
|
946 |
-
} // plugins_api_result
|
947 |
-
// helper function for adding plugins to fav list
|
948 |
-
static function featured_plugins_tab( $args ) {
|
949 |
-
add_filter( 'plugins_api_result', array( __CLASS__, 'plugins_api_result' ), 10, 3 );
|
950 |
-
return $args;
|
951 |
-
} // featured_plugins_tab
|
952 |
-
// add single plugin to list of favs
|
953 |
-
static function add_plugin_favs( $plugin_slug, $res ) {
|
954 |
-
if ( ! empty( $res->plugins ) && is_array( $res->plugins ) ) {
|
955 |
-
foreach ( $res->plugins as $plugin ) {
|
956 |
-
if ( is_object( $plugin ) && ! empty( $plugin->slug ) && $plugin->slug === $plugin_slug ) {
|
957 |
-
return $res;
|
958 |
-
}
|
959 |
-
} // foreach
|
960 |
-
}
|
961 |
-
$plugin_info = get_transient( 'wf-plugin-info-' . $plugin_slug );
|
962 |
-
if ( $plugin_info ) {
|
963 |
-
array_unshift( $res->plugins, $plugin_info );
|
964 |
-
} else {
|
965 |
-
$plugin_info = plugins_api(
|
966 |
-
'plugin_information',
|
967 |
-
array(
|
968 |
-
'slug' => $plugin_slug,
|
969 |
-
'is_ssl' => is_ssl(),
|
970 |
-
'fields' => array(
|
971 |
-
'banners' => true,
|
972 |
-
'reviews' => true,
|
973 |
-
'downloaded' => true,
|
974 |
-
'active_installs' => true,
|
975 |
-
'icons' => true,
|
976 |
-
'short_description' => true,
|
977 |
-
),
|
978 |
-
)
|
979 |
-
);
|
980 |
-
if ( ! is_wp_error( $plugin_info ) ) {
|
981 |
-
$res->plugins[] = $plugin_info;
|
982 |
-
set_transient( 'wf-plugin-info-' . $plugin_slug, $plugin_info, DAY_IN_SECONDS * 7 );
|
983 |
-
}
|
984 |
-
}
|
985 |
-
return $res;
|
986 |
-
} // add_plugin_favs
|
987 |
-
}
|
988 |
-
add_action( 'init', array( 'webappick_suggest_plugin', 'init' ) );
|
989 |
-
}
|
990 |
-
|
991 |
-
register_deactivation_hook( __FILE__, 'woo_feed_deactivate' );
|
992 |
-
if ( ! function_exists( 'woo_feed_deactivate' ) ) {
|
993 |
-
/**
|
994 |
-
* Flash cache purged after plugin deactivation
|
995 |
-
*
|
996 |
-
* @return void
|
997 |
-
*/
|
998 |
-
function woo_feed_deactivate() {
|
999 |
-
woo_feed_flush_cache_data(); // clean caches.
|
1000 |
-
}
|
1001 |
-
}
|
1002 |
-
|
1003 |
-
|
1004 |
-
// End of file woo-feed.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.3.
|
14 |
* Author: WebAppick
|
15 |
* Author URI: https://webappick.com/
|
16 |
* 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', '4.3.
|
43 |
}
|
44 |
|
45 |
if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
|
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.3.62
|
14 |
* Author: WebAppick
|
15 |
* Author URI: https://webappick.com/
|
16 |
* License: GPL v2
|
39 |
* @var string
|
40 |
* @since 3.1.6
|
41 |
*/
|
42 |
+
define( 'WOO_FEED_FREE_VERSION', '4.3.62' );
|
43 |
}
|
44 |
|
45 |
if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
|