Version Description
Download this release
Release Info
Developer | wahid0003 |
Plugin | CTX Feed – WooCommerce Product Feed Manager Plugin |
Version | 2.1.21 |
Comparing to | |
See all releases |
Code changes from version 2.1.15 to 2.1.21
- README.txt +31 -6
- admin/class-woo-feed-admin.php +1 -2
- admin/css/woo-feed-admin.css +42 -0
- admin/images/DA_1.png +0 -0
- admin/images/DA_2.png +0 -0
- admin/images/DA_3.png +0 -0
- admin/images/Da_4.png +0 -0
- admin/images/filter.png +0 -0
- admin/js/woo-feed-admin.js +1 -19
- admin/partials/adroll/add-feed.php +754 -0
- admin/partials/facebook/add-feed.php +23 -9
- admin/partials/google/add-feed.php +23 -9
- admin/partials/woo-feed-admin-display.php +1 -0
- admin/partials/woo-feed-edit-template.php +6 -0
- admin/partials/woo-feed-manage-list.php +6 -4
- admin/partials/woo-feed-pro-vs-free.php +69 -1
- includes/class-woo-feed.php +2 -2
- includes/classes/class-woo-feed-admin-message.php +9 -0
- includes/classes/class-woo-feed-default-attributes.php +1 -2
- includes/classes/class-woo-feed-engine.php +15 -1
- includes/classes/class-woo-feed-products.php +38 -40
- includes/feeds/class-woo-feed-facebook.php +2 -2
- includes/feeds/class-woo-feed-google.php +2 -2
- woo-feed.php +68 -24
README.txt
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
-
=== WooCommerce Product Feed : Google Shopping,Facebook Product Ad,
|
2 |
Contributors: wahid0003
|
3 |
Donate link: https://webappick.com
|
4 |
-
Tags: Product feed,Google Merchant Feed,facebook product feed,
|
5 |
Requires at least: 3.6
|
6 |
Tested up to: 4.8
|
7 |
Stable tag: 4.4
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
-
Get Real Buyer and Boost Your Sell by Uploading your Products to 100+ Shopping Engines Like Google
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
**WooCommerce Product Feed** generate product feed to Sync your products with your merchant center like Google Shopping,Facebook Product Ads,Idealo.de, shopbot.ca etc. The main target of this plugin is to generate product feed, automatically update product information into feed file according to given schedule and sync your product to different shopping engines via HTTP or FTP so that real buyer can get your product into shopping engines like Google Shopping, pricegrabber, pricerunner, nextag
|
16 |
<blockquote>
|
17 |
<h4>Free version support unlimited feed with up to 2000 products including variations.</h4>
|
18 |
<br/>
|
@@ -29,7 +29,7 @@ You need product feed if you are a merchant with an ecommerce store and want to
|
|
29 |
|
30 |
**WHAT IS COMPARISON SHOPPING ENGINE?**
|
31 |
|
32 |
-
A shopping engine or comparison shopping engine is a type of website where shopper can search products based on price, feature and other criteria and compare. Most popular Comparison Shopping Engines are Google Shopping, Pricegrabber, Pricewatch, Shopzilla,
|
33 |
|
34 |
<blockquote>
|
35 |
<h4><a target="_blank" href="http://webappick.helpscoutdocs.com/">Read Documentation and FAQ</a></h4>
|
@@ -49,7 +49,7 @@ In one word WooCommerce Product Feed is a revolution. Yah, it’s a revolution o
|
|
49 |
**AVAILABLE FEATURES:**
|
50 |
|
51 |
* It is highly customizable, having access to 100+ merchant sites & also very responsive of user commands.
|
52 |
-
* 10+ pre configured template for Google Shopping,Google Adword,
|
53 |
become.com,conexity.com,shopmania.com,shopzilla.com,bing.com
|
54 |
* You can post your product feeds either manually from your site to shopping engines
|
55 |
or you can also set FTP to post your feeds automatically to your desired engines.
|
@@ -83,6 +83,8 @@ In one word WooCommerce Product Feed is a revolution. Yah, it’s a revolution o
|
|
83 |
* <a target="_blank" href="http://www.shopzilla.com/">Shopzilla.com</a>
|
84 |
* <a target="_blank" href="http://www.shopmania.com/">Shopmania.com</a>
|
85 |
* <a target="_blank" href="http://www.shop.com/">Shop.com</a>
|
|
|
|
|
86 |
* <a target="_blank" href="https://www.pricefalls.com/">Pricefalls.com</a>
|
87 |
* <a target="_blank" href="http://www.pricerunner.co.uk/">Pricerunner.co.uk</a>
|
88 |
* <a target="_blank" href="http://www.cj.com/">Comission Junction (cj.com)</a>
|
@@ -214,6 +216,29 @@ Using pro version:
|
|
214 |
|
215 |
== Changelog ==
|
216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
= 2.1.14(2017-08-09) =
|
218 |
* Fixed: Variable Product missing issue
|
219 |
|
1 |
+
=== WooCommerce Product Feed : Google Shopping,Facebook Product Ad,eBay and Many More ===
|
2 |
Contributors: wahid0003
|
3 |
Donate link: https://webappick.com
|
4 |
+
Tags: Product feed,Google Merchant Feed,facebook product feed,eBay,bing,pricegrabber,nextag,pricerunner,kelkoo,feed,woocommerce feed,woocommerce product feed, txt export, csv export, xml export,woocommerce export,product export, newegg,rakuten,houzz,godatafeed,pricefalls,google merchant,google shopping,sell,sears,variation export,shareasale,etsy,Buy,Getprice,LeGuide,Twenga,Beslist,Kieskeurig,HotLine,Yandex.Market,product variation,connexity,Commission Junction,channel advisor,dealtime,shopbot,shopzilla,yahoo,Getprice,Gimme,Junglee,Myshopping,Priceme,Shopmania,Wine-searcher
|
5 |
Requires at least: 3.6
|
6 |
Tested up to: 4.8
|
7 |
Stable tag: 4.4
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
+
Get Real Buyer and Boost Your Sell by Uploading your Products to 100+ Shopping Engines Like Google Merchant,Facebook,PriceSpy,eBay,Idealo.
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
**WooCommerce Product Feed** generate product feed to Sync your products with your merchant center like Google Shopping,Facebook Product Ads,Idealo.de, shopbot.ca etc. The main target of this plugin is to generate product feed, automatically update product information into feed file according to given schedule and sync your product to different shopping engines via HTTP or FTP so that real buyer can get your product into shopping engines like Google Shopping, pricegrabber, pricerunner, nextag,ebay and many more.<br/><br/> Compatible with WooCommerce 3.0+
|
16 |
<blockquote>
|
17 |
<h4>Free version support unlimited feed with up to 2000 products including variations.</h4>
|
18 |
<br/>
|
29 |
|
30 |
**WHAT IS COMPARISON SHOPPING ENGINE?**
|
31 |
|
32 |
+
A shopping engine or comparison shopping engine is a type of website where shopper can search products based on price, feature and other criteria and compare. Most popular Comparison Shopping Engines are Google Shopping, Pricegrabber, Pricewatch, Shopzilla, Nextag, eBay Commerce Network.
|
33 |
|
34 |
<blockquote>
|
35 |
<h4><a target="_blank" href="http://webappick.helpscoutdocs.com/">Read Documentation and FAQ</a></h4>
|
49 |
**AVAILABLE FEATURES:**
|
50 |
|
51 |
* It is highly customizable, having access to 100+ merchant sites & also very responsive of user commands.
|
52 |
+
* 10+ pre configured template for Google Shopping,Google Adword,Facebook,Nextag.com,pricegrabber.com,Shopping.com,
|
53 |
become.com,conexity.com,shopmania.com,shopzilla.com,bing.com
|
54 |
* You can post your product feeds either manually from your site to shopping engines
|
55 |
or you can also set FTP to post your feeds automatically to your desired engines.
|
83 |
* <a target="_blank" href="http://www.shopzilla.com/">Shopzilla.com</a>
|
84 |
* <a target="_blank" href="http://www.shopmania.com/">Shopmania.com</a>
|
85 |
* <a target="_blank" href="http://www.shop.com/">Shop.com</a>
|
86 |
+
* <a target="_blank" href="https://pricespy.co.uk/">Pricespy.co.uk</a>
|
87 |
+
* <a target="_blank" href="https://www.prisjakt.nu/">Prisjakt.nu</a>
|
88 |
* <a target="_blank" href="https://www.pricefalls.com/">Pricefalls.com</a>
|
89 |
* <a target="_blank" href="http://www.pricerunner.co.uk/">Pricerunner.co.uk</a>
|
90 |
* <a target="_blank" href="http://www.cj.com/">Comission Junction (cj.com)</a>
|
216 |
|
217 |
== Changelog ==
|
218 |
|
219 |
+
= 2.1.21(2017-10-08) =
|
220 |
+
* Added: Adroll.com product feed template added
|
221 |
+
|
222 |
+
= 2.1.20(2017-10-04) =
|
223 |
+
* Fixed: js typeahead error fixed.
|
224 |
+
|
225 |
+
= 2.1.19(2017-10-04) =
|
226 |
+
* Fixed: decimal issue of progress percent.
|
227 |
+
|
228 |
+
= 2.1.18(2017-09-28) =
|
229 |
+
* Fixed: Sale Price will be empty if not on sale
|
230 |
+
|
231 |
+
= 2.1.17(2017-09-20) =
|
232 |
+
* Fixed: FTP Connection issue
|
233 |
+
|
234 |
+
= 2.1.16(2017-09-01) =
|
235 |
+
* Fixed: XML error for Google and Facebook template
|
236 |
+
|
237 |
+
= 2.1.15(2017-08-27) =
|
238 |
+
* Fixed: array_merge error
|
239 |
+
* Added: Strip slashed manual input (Prefix, Suffix, and Pattern)
|
240 |
+
* Added: HTML entity decoded for Google and Facebook XML header
|
241 |
+
|
242 |
= 2.1.14(2017-08-09) =
|
243 |
* Fixed: Variable Product missing issue
|
244 |
|
admin/class-woo-feed-admin.php
CHANGED
@@ -92,8 +92,7 @@ class Woo_Feed_Admin
|
|
92 |
* class.
|
93 |
*/
|
94 |
|
95 |
-
|
96 |
-
wp_enqueue_script($this->woo_feed . "_typeahead");
|
97 |
wp_register_script($this->woo_feed . "_jvalidate", plugin_dir_url(__FILE__) . 'js/jquery.validate.min.js', array(), $this->version, false);
|
98 |
wp_enqueue_script($this->woo_feed . "_jvalidate");
|
99 |
wp_register_script($this->woo_feed . "_jvalidateadition", plugin_dir_url(__FILE__) . 'js/additional-methods.min.js', array(), $this->version, false);
|
92 |
* class.
|
93 |
*/
|
94 |
|
95 |
+
|
|
|
96 |
wp_register_script($this->woo_feed . "_jvalidate", plugin_dir_url(__FILE__) . 'js/jquery.validate.min.js', array(), $this->version, false);
|
97 |
wp_enqueue_script($this->woo_feed . "_jvalidate");
|
98 |
wp_register_script($this->woo_feed . "_jvalidateadition", plugin_dir_url(__FILE__) . 'js/additional-methods.min.js', array(), $this->version, false);
|
admin/css/woo-feed-admin.css
CHANGED
@@ -292,3 +292,45 @@ p {
|
|
292 |
.wf_tabs [id^="tab"]:checked ~ [id^="wf-tab-content"] {
|
293 |
display: block;
|
294 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
.wf_tabs [id^="tab"]:checked ~ [id^="wf-tab-content"] {
|
293 |
display: block;
|
294 |
}
|
295 |
+
|
296 |
+
/**
|
297 |
+
* Premium Page Design
|
298 |
+
*/
|
299 |
+
.woo_feed_free_manage_attribute {
|
300 |
+
margin: 0 auto;
|
301 |
+
width: 100%;
|
302 |
+
}
|
303 |
+
|
304 |
+
.woo_feed_screenshort{
|
305 |
+
max-width: 100%;
|
306 |
+
width: 1000px;
|
307 |
+
border: 3px solid #00b9eb;
|
308 |
+
display: block;
|
309 |
+
margin: 0 auto;
|
310 |
+
}
|
311 |
+
|
312 |
+
.woo-feed-screen-shot-title{
|
313 |
+
font-size: 36px;
|
314 |
+
text-align: center;
|
315 |
+
box-sizing: content-box;
|
316 |
+
color: #00b9eb;
|
317 |
+
}
|
318 |
+
|
319 |
+
.woo_feed_screen {
|
320 |
+
background: #fff;
|
321 |
+
padding: 25px 20px;
|
322 |
+
margin-bottom: 20px;
|
323 |
+
}
|
324 |
+
|
325 |
+
.woo_feed_screen_des{
|
326 |
+
text-align: center;
|
327 |
+
margin: 20px 50px 20px 50px;
|
328 |
+
font-size: 16px;
|
329 |
+
color: #666;
|
330 |
+
}
|
331 |
+
.woo_feed_screen_des_2{
|
332 |
+
text-align: center;
|
333 |
+
margin: 20px 50px 5px 50px;
|
334 |
+
font-size: 14px;
|
335 |
+
color: #32373c;
|
336 |
+
}
|
admin/images/DA_1.png
ADDED
Binary file
|
admin/images/DA_2.png
ADDED
Binary file
|
admin/images/DA_3.png
ADDED
Binary file
|
admin/images/Da_4.png
ADDED
Binary file
|
admin/images/filter.png
ADDED
Binary file
|
admin/js/woo-feed-admin.js
CHANGED
@@ -12,25 +12,7 @@
|
|
12 |
* This enables you to define handlers, for when the DOM is ready:
|
13 |
*/
|
14 |
$(function () {
|
15 |
-
|
16 |
-
|
17 |
-
//$('form').validate();
|
18 |
-
|
19 |
-
// Category Mapping
|
20 |
-
$('.woo-feed-mapping-input').typeahead({
|
21 |
-
minLength: 1,
|
22 |
-
source: function (query, process) {
|
23 |
-
var url = $("#cmTable").attr('val');
|
24 |
-
var provider = $("#providers").val();
|
25 |
-
$.post(url, {
|
26 |
-
q: query,
|
27 |
-
limit: 8,
|
28 |
-
provider: provider
|
29 |
-
}, function (data) {
|
30 |
-
process(JSON.parse(data));
|
31 |
-
});
|
32 |
-
}
|
33 |
-
});
|
34 |
|
35 |
// Category Mapping (Auto Field Populate)
|
36 |
$(".treegrid-parent").on('change keyup', function () {
|
12 |
* This enables you to define handlers, for when the DOM is ready:
|
13 |
*/
|
14 |
$(function () {
|
15 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
// Category Mapping (Auto Field Populate)
|
18 |
$(".treegrid-parent").on('change keyup', function () {
|
admin/partials/adroll/add-feed.php
ADDED
@@ -0,0 +1,754 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<ul class="wf_tabs">
|
2 |
+
<li>
|
3 |
+
<input type="radio" name="wf_tabs" id="tab1" checked/>
|
4 |
+
<label class="wf-tab-name" for="tab1"><?php echo _e( 'Feed Config', 'woo-feed' ); ?></label>
|
5 |
+
|
6 |
+
<div id="wf-tab-content1" class="wf-tab-content">
|
7 |
+
<table class="table tree widefat fixed sorted_table mtable" width="100%" id="table-1">
|
8 |
+
<thead>
|
9 |
+
<tr>
|
10 |
+
<th></th>
|
11 |
+
<th><?php echo ucfirst( $provider ); ?> <?php echo _e( 'Attributes', 'woo-feed' ); ?></th>
|
12 |
+
<th><?php echo _e( 'Prefix', 'woo-feed' ); ?></th>
|
13 |
+
<th><?php echo _e( 'Type', 'woo-feed' ); ?></th>
|
14 |
+
<th><?php echo _e( 'Value', 'woo-feed' ); ?></th>
|
15 |
+
<th><?php echo _e( 'Suffix', 'woo-feed' ); ?></th>
|
16 |
+
<th><?php echo _e( 'Output Type', 'woo-feed' ); ?></th>
|
17 |
+
<th><?php echo _e( 'Output Limit', 'woo-feed' ); ?></th>
|
18 |
+
<th></th>
|
19 |
+
</tr>
|
20 |
+
</thead>
|
21 |
+
<tbody>
|
22 |
+
<tr>
|
23 |
+
<td>
|
24 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
25 |
+
</td>
|
26 |
+
<td>
|
27 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
28 |
+
<?php echo $dropDown->googleAttributesDropdown( 'id' ); ?>
|
29 |
+
</select>
|
30 |
+
</td>
|
31 |
+
<td>
|
32 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
33 |
+
</td>
|
34 |
+
<td>
|
35 |
+
<select name="type[]" class="attr_type wfnoempty">
|
36 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
37 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
38 |
+
</select>
|
39 |
+
</td>
|
40 |
+
<td>
|
41 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
42 |
+
<?php echo $product->attributeDropdown( 'id' ); ?>
|
43 |
+
</select>
|
44 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
45 |
+
style=" display: none;"/>
|
46 |
+
</td>
|
47 |
+
<td>
|
48 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
49 |
+
</td>
|
50 |
+
<td>
|
51 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
52 |
+
<option value="1">Default</option>
|
53 |
+
<option value="2">Strip Tags</option>
|
54 |
+
<option value="3">UTF-8 Encode</option>
|
55 |
+
<option value="4">htmlentities</option>
|
56 |
+
<option value="5">Integer</option>
|
57 |
+
<option value="6">Price</option>
|
58 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
59 |
+
<option value="8">CDATA</option>
|
60 |
+
</select>
|
61 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
62 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
63 |
+
</td>
|
64 |
+
<td>
|
65 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
66 |
+
</td>
|
67 |
+
<td>
|
68 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
69 |
+
</td>
|
70 |
+
</tr>
|
71 |
+
<tr>
|
72 |
+
<td>
|
73 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
74 |
+
</td>
|
75 |
+
<td>
|
76 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
77 |
+
<?php echo $dropDown->googleAttributesDropdown( 'title' ); ?>
|
78 |
+
</select>
|
79 |
+
</td>
|
80 |
+
<td>
|
81 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
82 |
+
</td>
|
83 |
+
<td>
|
84 |
+
<select name="type[]" class="attr_type wfnoempty">
|
85 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
86 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
87 |
+
</select>
|
88 |
+
</td>
|
89 |
+
<td>
|
90 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
91 |
+
<?php echo $product->attributeDropdown( 'title' ); ?>
|
92 |
+
</select>
|
93 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
94 |
+
style=" display: none;"/>
|
95 |
+
</td>
|
96 |
+
<td>
|
97 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
98 |
+
</td>
|
99 |
+
<td>
|
100 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
101 |
+
<option value="1">Default</option>
|
102 |
+
<option value="2">Strip Tags</option>
|
103 |
+
<option value="3">UTF-8 Encode</option>
|
104 |
+
<option value="4">htmlentities</option>
|
105 |
+
<option value="5">Integer</option>
|
106 |
+
<option value="6">Price</option>
|
107 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
108 |
+
<option value="8">CDATA</option>
|
109 |
+
</select>
|
110 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
111 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
112 |
+
</td>
|
113 |
+
<td>
|
114 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
115 |
+
</td>
|
116 |
+
<td>
|
117 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
118 |
+
</td>
|
119 |
+
</tr>
|
120 |
+
<tr>
|
121 |
+
<td>
|
122 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
123 |
+
</td>
|
124 |
+
<td>
|
125 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
126 |
+
<?php echo $dropDown->googleAttributesDropdown( 'description' ); ?>
|
127 |
+
</select>
|
128 |
+
</td>
|
129 |
+
<td>
|
130 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
131 |
+
</td>
|
132 |
+
<td>
|
133 |
+
<select name="type[]" class="attr_type wfnoempty">
|
134 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
135 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
136 |
+
</select>
|
137 |
+
</td>
|
138 |
+
<td>
|
139 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
140 |
+
<?php echo $product->attributeDropdown( 'description' ); ?>
|
141 |
+
</select>
|
142 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
143 |
+
style=" display: none;"/>
|
144 |
+
</td>
|
145 |
+
<td>
|
146 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
147 |
+
</td>
|
148 |
+
<td>
|
149 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
150 |
+
<option value="1">Default</option>
|
151 |
+
<option value="2">Strip Tags</option>
|
152 |
+
<option value="3">UTF-8 Encode</option>
|
153 |
+
<option value="4">htmlentities</option>
|
154 |
+
<option value="5">Integer</option>
|
155 |
+
<option value="6">Price</option>
|
156 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
157 |
+
<option value="8">CDATA</option>
|
158 |
+
</select>
|
159 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
160 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
161 |
+
</td>
|
162 |
+
<td>
|
163 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
164 |
+
</td>
|
165 |
+
<td>
|
166 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
167 |
+
</td>
|
168 |
+
</tr>
|
169 |
+
<tr>
|
170 |
+
<td>
|
171 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
172 |
+
</td>
|
173 |
+
<td>
|
174 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
175 |
+
<?php echo $dropDown->googleAttributesDropdown( 'item_group_id' ); ?>
|
176 |
+
</select>
|
177 |
+
</td>
|
178 |
+
<td>
|
179 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
180 |
+
</td>
|
181 |
+
<td>
|
182 |
+
<select name="type[]" class="attr_type wfnoempty">
|
183 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
184 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
185 |
+
</select>
|
186 |
+
</td>
|
187 |
+
<td>
|
188 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
189 |
+
<?php echo $product->attributeDropdown( 'item_group_id' ); ?>
|
190 |
+
</select>
|
191 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
192 |
+
style=" display: none;"/>
|
193 |
+
</td>
|
194 |
+
<td>
|
195 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
196 |
+
</td>
|
197 |
+
<td>
|
198 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
199 |
+
<option value="1">Default</option>
|
200 |
+
<option value="2">Strip Tags</option>
|
201 |
+
<option value="3">UTF-8 Encode</option>
|
202 |
+
<option value="4">htmlentities</option>
|
203 |
+
<option value="5">Integer</option>
|
204 |
+
<option value="6">Price</option>
|
205 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
206 |
+
<option value="8">CDATA</option>
|
207 |
+
</select>
|
208 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
209 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
210 |
+
</td>
|
211 |
+
<td>
|
212 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
213 |
+
</td>
|
214 |
+
<td>
|
215 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
216 |
+
</td>
|
217 |
+
</tr>
|
218 |
+
<tr>
|
219 |
+
<td>
|
220 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
221 |
+
</td>
|
222 |
+
<td>
|
223 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
224 |
+
<?php echo $dropDown->googleAttributesDropdown( 'link' ); ?>
|
225 |
+
</select>
|
226 |
+
</td>
|
227 |
+
<td>
|
228 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
229 |
+
</td>
|
230 |
+
<td>
|
231 |
+
<select name="type[]" class="attr_type wfnoempty">
|
232 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
233 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
234 |
+
</select>
|
235 |
+
</td>
|
236 |
+
<td>
|
237 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
238 |
+
<?php echo $product->attributeDropdown( 'link' ); ?>
|
239 |
+
</select>
|
240 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
241 |
+
style=" display: none;"/>
|
242 |
+
</td>
|
243 |
+
<td>
|
244 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
245 |
+
</td>
|
246 |
+
<td>
|
247 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
248 |
+
<option value="1">Default</option>
|
249 |
+
<option value="2">Strip Tags</option>
|
250 |
+
<option value="3">UTF-8 Encode</option>
|
251 |
+
<option value="4">htmlentities</option>
|
252 |
+
<option value="5">Integer</option>
|
253 |
+
<option value="6">Price</option>
|
254 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
255 |
+
<option value="8">CDATA</option>
|
256 |
+
</select>
|
257 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
258 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
259 |
+
</td>
|
260 |
+
<td>
|
261 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
262 |
+
</td>
|
263 |
+
<td>
|
264 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
265 |
+
</td>
|
266 |
+
</tr>
|
267 |
+
<tr>
|
268 |
+
<td>
|
269 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
270 |
+
</td>
|
271 |
+
<td>
|
272 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
273 |
+
<?php echo $dropDown->googleAttributesDropdown('product_type'); ?>
|
274 |
+
</select>
|
275 |
+
</td>
|
276 |
+
<td>
|
277 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
278 |
+
</td>
|
279 |
+
<td>
|
280 |
+
<select name="type[]" class="attr_type wfnoempty">
|
281 |
+
<option value="attribute"> <?php echo _e('Attribute','woo-feed');?></option>
|
282 |
+
<option value="pattern"> <?php echo _e('Pattern','woo-feed');?></option>
|
283 |
+
</select>
|
284 |
+
</td>
|
285 |
+
<td>
|
286 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
287 |
+
<?php echo $product->attributeDropdown('product_type'); ?>
|
288 |
+
</select>
|
289 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
290 |
+
style=" display: none;"/>
|
291 |
+
</td>
|
292 |
+
<td>
|
293 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
294 |
+
</td>
|
295 |
+
<td>
|
296 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
297 |
+
<option value="1">Default</option>
|
298 |
+
<option value="2">Strip Tags</option>
|
299 |
+
<option value="3">UTF-8 Encode</option>
|
300 |
+
<option value="4">htmlentities</option>
|
301 |
+
<option value="5">Integer</option>
|
302 |
+
<option value="6">Price</option>
|
303 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
304 |
+
<option value="8">CDATA</option>
|
305 |
+
</select>
|
306 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
307 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
308 |
+
</td>
|
309 |
+
<td>
|
310 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
311 |
+
</td>
|
312 |
+
<td>
|
313 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
314 |
+
</td>
|
315 |
+
</tr>
|
316 |
+
<tr>
|
317 |
+
<td>
|
318 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
319 |
+
</td>
|
320 |
+
<td>
|
321 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
322 |
+
<?php echo $dropDown->googleAttributesDropdown('current_category'); ?>
|
323 |
+
</select>
|
324 |
+
</td>
|
325 |
+
<td>
|
326 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
327 |
+
</td>
|
328 |
+
<td>
|
329 |
+
<select name="type[]" class="attr_type wfnoempty">
|
330 |
+
<option value="attribute"> <?php echo _e('Attribute','woo-feed');?></option>
|
331 |
+
<option value="pattern" selected> <?php echo _e('Pattern','woo-feed');?></option>
|
332 |
+
</select>
|
333 |
+
</td>
|
334 |
+
<td>
|
335 |
+
<select name="attributes[]" style=" display: none;" id="" class="wf_attr wf_attributes">
|
336 |
+
<?php echo $product->attributeDropdown(); ?>
|
337 |
+
</select>
|
338 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" />
|
339 |
+
<br><span style="font-size:x-small;"><a href="http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category" target="_blank">Learn More..</a></span>
|
340 |
+
</td>
|
341 |
+
<td>
|
342 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
343 |
+
</td>
|
344 |
+
<td>
|
345 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
346 |
+
<option value="1">Default</option>
|
347 |
+
<option value="2">Strip Tags</option>
|
348 |
+
<option value="3">UTF-8 Encode</option>
|
349 |
+
<option value="4">htmlentities</option>
|
350 |
+
<option value="5">Integer</option>
|
351 |
+
<option value="6">Price</option>
|
352 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
353 |
+
<option value="8">CDATA</option>
|
354 |
+
</select>
|
355 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
356 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
357 |
+
</td>
|
358 |
+
<td>
|
359 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
360 |
+
</td>
|
361 |
+
<td>
|
362 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
363 |
+
</td>
|
364 |
+
</tr>
|
365 |
+
<tr>
|
366 |
+
<td>
|
367 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
368 |
+
</td>
|
369 |
+
<td>
|
370 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
371 |
+
<?php echo $dropDown->googleAttributesDropdown( 'image' ); ?>
|
372 |
+
</select>
|
373 |
+
</td>
|
374 |
+
<td>
|
375 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
376 |
+
</td>
|
377 |
+
<td>
|
378 |
+
<select name="type[]" class="attr_type wfnoempty">
|
379 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
380 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
381 |
+
</select>
|
382 |
+
</td>
|
383 |
+
<td>
|
384 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
385 |
+
<?php echo $product->attributeDropdown( 'image' ); ?>
|
386 |
+
</select>
|
387 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
388 |
+
style=" display: none;"/>
|
389 |
+
</td>
|
390 |
+
<td>
|
391 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
392 |
+
</td>
|
393 |
+
<td>
|
394 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
395 |
+
<option value="1">Default</option>
|
396 |
+
<option value="2">Strip Tags</option>
|
397 |
+
<option value="3">UTF-8 Encode</option>
|
398 |
+
<option value="4">htmlentities</option>
|
399 |
+
<option value="5">Integer</option>
|
400 |
+
<option value="6">Price</option>
|
401 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
402 |
+
<option value="8">CDATA</option>
|
403 |
+
</select>
|
404 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
405 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
406 |
+
</td>
|
407 |
+
<td>
|
408 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
409 |
+
</td>
|
410 |
+
<td>
|
411 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
412 |
+
</td>
|
413 |
+
</tr>
|
414 |
+
<tr>
|
415 |
+
<td>
|
416 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
417 |
+
</td>
|
418 |
+
<td>
|
419 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
420 |
+
<?php echo $dropDown->googleAttributesDropdown( 'condition' ); ?>
|
421 |
+
</select>
|
422 |
+
</td>
|
423 |
+
<td>
|
424 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
425 |
+
</td>
|
426 |
+
<td>
|
427 |
+
<select name="type[]" class="attr_type wfnoempty">
|
428 |
+
<option value="attribute"><?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
429 |
+
<option value="pattern"><?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
430 |
+
</select>
|
431 |
+
</td>
|
432 |
+
<td>
|
433 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
434 |
+
<?php echo $product->attributeDropdown( 'condition' ); ?>
|
435 |
+
</select>
|
436 |
+
<input type="text" style=" display: none;" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
437 |
+
/>
|
438 |
+
</td>
|
439 |
+
<td>
|
440 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
441 |
+
</td>
|
442 |
+
<td>
|
443 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
444 |
+
<option value="1">Default</option>
|
445 |
+
<option value="2">Strip Tags</option>
|
446 |
+
<option value="3">UTF-8 Encode</option>
|
447 |
+
<option value="4">htmlentities</option>
|
448 |
+
<option value="5">Integer</option>
|
449 |
+
<option value="6">Price</option>
|
450 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
451 |
+
<option value="8">CDATA</option>
|
452 |
+
</select>
|
453 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
454 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
455 |
+
</td>
|
456 |
+
<td>
|
457 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
458 |
+
</td>
|
459 |
+
<td>
|
460 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
461 |
+
</td>
|
462 |
+
</tr>
|
463 |
+
<tr>
|
464 |
+
<td>
|
465 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
466 |
+
</td>
|
467 |
+
<td>
|
468 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
469 |
+
<?php echo $dropDown->googleAttributesDropdown( 'availability' ); ?>
|
470 |
+
</select>
|
471 |
+
</td>
|
472 |
+
<td>
|
473 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
474 |
+
</td>
|
475 |
+
<td>
|
476 |
+
<select name="type[]" class="attr_type wfnoempty">
|
477 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
478 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
479 |
+
</select>
|
480 |
+
</td>
|
481 |
+
<td>
|
482 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
483 |
+
<?php echo $product->attributeDropdown( 'availability' ); ?>
|
484 |
+
</select>
|
485 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
486 |
+
style=" display: none;"/>
|
487 |
+
</td>
|
488 |
+
<td>
|
489 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
490 |
+
</td>
|
491 |
+
<td>
|
492 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
493 |
+
<option value="1">Default</option>
|
494 |
+
<option value="2">Strip Tags</option>
|
495 |
+
<option value="3">UTF-8 Encode</option>
|
496 |
+
<option value="4">htmlentities</option>
|
497 |
+
<option value="5">Integer</option>
|
498 |
+
<option value="6">Price</option>
|
499 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
500 |
+
<option value="8">CDATA</option>
|
501 |
+
</select>
|
502 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
503 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
504 |
+
</td>
|
505 |
+
<td>
|
506 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
507 |
+
</td>
|
508 |
+
<td>
|
509 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
510 |
+
</td>
|
511 |
+
</tr>
|
512 |
+
<tr>
|
513 |
+
<td>
|
514 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
515 |
+
</td>
|
516 |
+
<td>
|
517 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
518 |
+
<?php echo $dropDown->googleAttributesDropdown( 'price' ); ?>
|
519 |
+
</select>
|
520 |
+
</td>
|
521 |
+
<td>
|
522 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
523 |
+
</td>
|
524 |
+
<td>
|
525 |
+
<select name="type[]" class="attr_type wfnoempty">
|
526 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
527 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
528 |
+
</select>
|
529 |
+
</td>
|
530 |
+
<td>
|
531 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
532 |
+
<?php echo $product->attributeDropdown( 'price' ); ?>
|
533 |
+
</select>
|
534 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
535 |
+
style=" display: none;"/>
|
536 |
+
</td>
|
537 |
+
<td>
|
538 |
+
<input type="text" name="suffix[]" value="USD" autocomplete="off" class="wf_ps"/>
|
539 |
+
</td>
|
540 |
+
<td>
|
541 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
542 |
+
<option value="1">Default</option>
|
543 |
+
<option value="2">Strip Tags</option>
|
544 |
+
<option value="3">UTF-8 Encode</option>
|
545 |
+
<option value="4">htmlentities</option>
|
546 |
+
<option value="5">Integer</option>
|
547 |
+
<option selected value="6">Price</option>
|
548 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
549 |
+
<option value="8">CDATA</option>
|
550 |
+
</select>
|
551 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
552 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
553 |
+
</td>
|
554 |
+
<td>
|
555 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
556 |
+
</td>
|
557 |
+
<td>
|
558 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
559 |
+
</td>
|
560 |
+
</tr>
|
561 |
+
|
562 |
+
<tr>
|
563 |
+
<td>
|
564 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
565 |
+
</td>
|
566 |
+
<td>
|
567 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
568 |
+
<?php echo $dropDown->googleAttributesDropdown( 'sku' ); ?>
|
569 |
+
</select>
|
570 |
+
</td>
|
571 |
+
<td>
|
572 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
573 |
+
</td>
|
574 |
+
<td>
|
575 |
+
<select name="type[]" class="attr_type wfnoempty">
|
576 |
+
<option value="attribute"> <?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
577 |
+
<option value="pattern"> <?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
578 |
+
</select>
|
579 |
+
</td>
|
580 |
+
<td>
|
581 |
+
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
582 |
+
<?php echo $product->attributeDropdown( 'sku' ); ?>
|
583 |
+
</select>
|
584 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
585 |
+
style=" display: none;"/>
|
586 |
+
</td>
|
587 |
+
<td>
|
588 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
589 |
+
</td>
|
590 |
+
<td>
|
591 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
592 |
+
<option value="1">Default</option>
|
593 |
+
<option value="2">Strip Tags</option>
|
594 |
+
<option value="3">UTF-8 Encode</option>
|
595 |
+
<option value="4">htmlentities</option>
|
596 |
+
<option value="5">Integer</option>
|
597 |
+
<option value="6">Price</option>
|
598 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
599 |
+
<option value="8">CDATA</option>
|
600 |
+
</select>
|
601 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
602 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
603 |
+
</td>
|
604 |
+
<td>
|
605 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
606 |
+
</td>
|
607 |
+
<td>
|
608 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
609 |
+
</td>
|
610 |
+
</tr>
|
611 |
+
<tr>
|
612 |
+
<td>
|
613 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
614 |
+
</td>
|
615 |
+
<td>
|
616 |
+
<select name="mattributes[]" id="" required class="wf_mattributes">
|
617 |
+
<?php echo $dropDown->googleAttributesDropdown( 'brand' ); ?>
|
618 |
+
</select>
|
619 |
+
</td>
|
620 |
+
<td>
|
621 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
622 |
+
</td>
|
623 |
+
<td>
|
624 |
+
<select name="type[]" class="attr_type wfnoempty">
|
625 |
+
<option value="attribute" ><?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
626 |
+
<option value="pattern" selected><?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
627 |
+
</select>
|
628 |
+
</td>
|
629 |
+
<td>
|
630 |
+
<select name="attributes[]" style=" display: none;" id="" class="wf_attr wf_attributes">
|
631 |
+
<?php echo $product->attributeDropdown(); ?>
|
632 |
+
</select>
|
633 |
+
<?php
|
634 |
+
$url = site_url();
|
635 |
+
$WABrand="";
|
636 |
+
// Remove all illegal characters from a url
|
637 |
+
$url = filter_var($url, FILTER_SANITIZE_URL);
|
638 |
+
// Validate url
|
639 |
+
if (filter_var($url, FILTER_VALIDATE_URL) !== false) {
|
640 |
+
$url=parse_url($url);
|
641 |
+
if(array_key_exists('host',$url)){
|
642 |
+
$arr = explode('.',$url['host']);
|
643 |
+
$WABrand = $arr[count($arr) - 2];
|
644 |
+
}
|
645 |
+
}
|
646 |
+
|
647 |
+
?>
|
648 |
+
<input type="text" name="default[]" value="<?php echo $WABrand; ?>" autocomplete="off" class="wf_default wf_attributes"/>
|
649 |
+
</td>
|
650 |
+
<td>
|
651 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
652 |
+
</td>
|
653 |
+
<td>
|
654 |
+
<select name="output_type[][]" id="" class="outputType wfnoempty">
|
655 |
+
<option value="1">Default</option>
|
656 |
+
<option value="2">Strip Tags</option>
|
657 |
+
<option value="3">UTF-8 Encode</option>
|
658 |
+
<option value="4">htmlentities</option>
|
659 |
+
<option value="5">Integer</option>
|
660 |
+
<option value="6">Price</option>
|
661 |
+
<option value="7">Remove Space</option>
|
662 |
+
<option value="10">Remove ShortCodes</option>
|
663 |
+
<option value="9">Remove Special Character</option>
|
664 |
+
<option value="8">CDATA</option>
|
665 |
+
</select>
|
666 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
667 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
668 |
+
</td>
|
669 |
+
<td>
|
670 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
671 |
+
</td>
|
672 |
+
<td>
|
673 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
674 |
+
</td>
|
675 |
+
</tr>
|
676 |
+
</tbody>
|
677 |
+
<tfoot>
|
678 |
+
<tr>
|
679 |
+
<td>
|
680 |
+
<button type="button" class="button-small button-primary" id="wf_newRow">
|
681 |
+
<?php echo _e( 'Add New Row', 'woo-feed' ); ?>
|
682 |
+
</button>
|
683 |
+
</td>
|
684 |
+
<td colspan="8">
|
685 |
+
|
686 |
+
</td>
|
687 |
+
</tr>
|
688 |
+
</tfoot>
|
689 |
+
</table>
|
690 |
+
<table class=" widefat fixed">
|
691 |
+
<tr>
|
692 |
+
<td align="left" class="">
|
693 |
+
<div class="makeFeedResponse"></div>
|
694 |
+
<div class="makeFeedComplete"></div>
|
695 |
+
</td>
|
696 |
+
<td align="right">
|
697 |
+
<button type="submit" id="wf_submit" class="wfbtn">
|
698 |
+
<?php echo _e( 'Save & Generate Feed', 'woo-feed' ); ?>
|
699 |
+
</button>
|
700 |
+
</td>
|
701 |
+
</tr>
|
702 |
+
</table>
|
703 |
+
</div>
|
704 |
+
</li>
|
705 |
+
<li>
|
706 |
+
<input type="radio" name="wf_tabs" id="tab3"/>
|
707 |
+
<label class="wf-tab-name" for="tab3"><?php echo _e( 'FTP', 'woo-feed' ); ?></label>
|
708 |
+
|
709 |
+
<div id="wf-tab-content3" class="wf-tab-content">
|
710 |
+
<table class="table widefat fixed mtable" width="100%">
|
711 |
+
<tbody>
|
712 |
+
<tr>
|
713 |
+
<td><?php echo _e( 'Enabled', 'woo-feed' ); ?></td>
|
714 |
+
<td>
|
715 |
+
<select name="ftpenabled" id="">
|
716 |
+
<option value="0"><?php echo _e( 'Disabled', 'woo-feed' ); ?></option>
|
717 |
+
<option value="1"><?php echo _e( 'Enabled', 'woo-feed' ); ?></option>
|
718 |
+
</select>
|
719 |
+
</td>
|
720 |
+
</tr>
|
721 |
+
<tr>
|
722 |
+
<td><?php echo _e( 'Host Name', 'woo-feed' ); ?></td>
|
723 |
+
<td><input type="text" name="ftphost"/></td>
|
724 |
+
</tr>
|
725 |
+
<tr>
|
726 |
+
<td><?php echo _e( 'User Name', 'woo-feed' ); ?></td>
|
727 |
+
<td><input type="text" name="ftpuser"/></td>
|
728 |
+
</tr>
|
729 |
+
<tr>
|
730 |
+
<td><?php echo _e( 'Password', 'woo-feed' ); ?></td>
|
731 |
+
<td><input type="password" name="ftppassword"/></td>
|
732 |
+
</tr>
|
733 |
+
<tr>
|
734 |
+
<td><?php echo _e( 'Path', 'woo-feed' ); ?></td>
|
735 |
+
<td><input type="text" name="ftppath"/></td>
|
736 |
+
</tr>
|
737 |
+
</tbody>
|
738 |
+
</table>
|
739 |
+
<table class=" widefat fixed">
|
740 |
+
<tr>
|
741 |
+
<td align="left" class="makeFeedResponse">
|
742 |
+
|
743 |
+
</td>
|
744 |
+
<td align="right">
|
745 |
+
<button type="submit" id="wf_submit" class="wfbtn">
|
746 |
+
<?php echo _e( 'Save & Generate Feed', 'woo-feed' ); ?>
|
747 |
+
</button>
|
748 |
+
</td>
|
749 |
+
</tr>
|
750 |
+
</table>
|
751 |
+
</div>
|
752 |
+
</li>
|
753 |
+
|
754 |
+
</ul>
|
admin/partials/facebook/add-feed.php
CHANGED
@@ -328,15 +328,15 @@
|
|
328 |
<td>
|
329 |
<select name="type[]" class="attr_type wfnoempty">
|
330 |
<option value="attribute"> <?php echo _e('Attribute', 'woo-feed'); ?></option>
|
331 |
-
<option value="pattern"> <?php echo _e('Pattern', 'woo-feed'); ?></option>
|
332 |
</select>
|
333 |
</td>
|
334 |
<td>
|
335 |
-
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
336 |
<?php echo $product->attributeDropdown(); ?>
|
337 |
</select>
|
338 |
-
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
339 |
-
|
340 |
</td>
|
341 |
<td>
|
342 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
@@ -620,17 +620,31 @@
|
|
620 |
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
621 |
</td>
|
622 |
<td>
|
623 |
-
<select name="type[]"
|
624 |
<option value="attribute"><?php echo _e('Attribute', 'woo-feed'); ?></option>
|
625 |
-
<option value="pattern"><?php echo _e('Pattern', 'woo-feed'); ?></option>
|
626 |
</select>
|
627 |
</td>
|
628 |
<td>
|
629 |
-
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
630 |
<?php echo $product->attributeDropdown(); ?>
|
631 |
</select>
|
632 |
-
|
633 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
634 |
</td>
|
635 |
<td>
|
636 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
328 |
<td>
|
329 |
<select name="type[]" class="attr_type wfnoempty">
|
330 |
<option value="attribute"> <?php echo _e('Attribute', 'woo-feed'); ?></option>
|
331 |
+
<option value="pattern" selected> <?php echo _e('Pattern', 'woo-feed'); ?></option>
|
332 |
</select>
|
333 |
</td>
|
334 |
<td>
|
335 |
+
<select name="attributes[]" id="" style=" display: none;" class="wf_attr wf_attributes">
|
336 |
<?php echo $product->attributeDropdown(); ?>
|
337 |
</select>
|
338 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"/>
|
339 |
+
<br><span style="font-size: x-small;"><a href="http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category" target="_blank">Learn More..</a></span>
|
340 |
</td>
|
341 |
<td>
|
342 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
620 |
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
621 |
</td>
|
622 |
<td>
|
623 |
+
<select name="type[]" class="attr_type wfnoempty">
|
624 |
<option value="attribute"><?php echo _e('Attribute', 'woo-feed'); ?></option>
|
625 |
+
<option value="pattern" selected><?php echo _e('Pattern', 'woo-feed'); ?></option>
|
626 |
</select>
|
627 |
</td>
|
628 |
<td>
|
629 |
+
<select name="attributes[]" style=" display: none;" id="" class="wf_attr wf_attributes">
|
630 |
<?php echo $product->attributeDropdown(); ?>
|
631 |
</select>
|
632 |
+
<?php
|
633 |
+
$url = site_url();
|
634 |
+
$WABrand="";
|
635 |
+
// Remove all illegal characters from a url
|
636 |
+
$url = filter_var($url, FILTER_SANITIZE_URL);
|
637 |
+
// Validate url
|
638 |
+
if (filter_var($url, FILTER_VALIDATE_URL) !== false) {
|
639 |
+
$url=parse_url($url);
|
640 |
+
if(array_key_exists('host',$url)){
|
641 |
+
$arr = explode('.',$url['host']);
|
642 |
+
$WABrand = $arr[count($arr) - 2];
|
643 |
+
}
|
644 |
+
}
|
645 |
+
|
646 |
+
?>
|
647 |
+
<input type="text" name="default[]" value="<?php echo $WABrand; ?>" autocomplete="off" class="wf_default wf_attributes"/>
|
648 |
</td>
|
649 |
<td>
|
650 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
admin/partials/google/add-feed.php
CHANGED
@@ -328,15 +328,15 @@
|
|
328 |
<td>
|
329 |
<select name="type[]" class="attr_type wfnoempty">
|
330 |
<option value="attribute"> <?php echo _e('Attribute','woo-feed');?></option>
|
331 |
-
<option value="pattern"> <?php echo _e('Pattern','woo-feed');?></option>
|
332 |
</select>
|
333 |
</td>
|
334 |
<td>
|
335 |
-
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
336 |
<?php echo $product->attributeDropdown(); ?>
|
337 |
</select>
|
338 |
-
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
339 |
-
|
340 |
</td>
|
341 |
<td>
|
342 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
@@ -622,16 +622,30 @@
|
|
622 |
</td>
|
623 |
<td>
|
624 |
<select name="type[]" class="attr_type wfnoempty">
|
625 |
-
<option value="attribute"><?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
626 |
-
<option value="pattern"><?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
627 |
</select>
|
628 |
</td>
|
629 |
<td>
|
630 |
-
<select name="attributes[]" id="" class="wf_attr wf_attributes">
|
631 |
<?php echo $product->attributeDropdown(); ?>
|
632 |
</select>
|
633 |
-
|
634 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
635 |
</td>
|
636 |
<td>
|
637 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
328 |
<td>
|
329 |
<select name="type[]" class="attr_type wfnoempty">
|
330 |
<option value="attribute"> <?php echo _e('Attribute','woo-feed');?></option>
|
331 |
+
<option value="pattern" selected> <?php echo _e('Pattern','woo-feed');?></option>
|
332 |
</select>
|
333 |
</td>
|
334 |
<td>
|
335 |
+
<select name="attributes[]" style=" display: none;" id="" class="wf_attr wf_attributes">
|
336 |
<?php echo $product->attributeDropdown(); ?>
|
337 |
</select>
|
338 |
+
<input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes" />
|
339 |
+
<br><span style="font-size:x-small;"><a href="http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category" target="_blank">Learn More..</a></span>
|
340 |
</td>
|
341 |
<td>
|
342 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
622 |
</td>
|
623 |
<td>
|
624 |
<select name="type[]" class="attr_type wfnoempty">
|
625 |
+
<option value="attribute" ><?php echo _e( 'Attribute', 'woo-feed' ); ?></option>
|
626 |
+
<option value="pattern" selected><?php echo _e( 'Pattern', 'woo-feed' ); ?></option>
|
627 |
</select>
|
628 |
</td>
|
629 |
<td>
|
630 |
+
<select name="attributes[]" style=" display: none;" id="" class="wf_attr wf_attributes">
|
631 |
<?php echo $product->attributeDropdown(); ?>
|
632 |
</select>
|
633 |
+
<?php
|
634 |
+
$url = site_url();
|
635 |
+
$WABrand="";
|
636 |
+
// Remove all illegal characters from a url
|
637 |
+
$url = filter_var($url, FILTER_SANITIZE_URL);
|
638 |
+
// Validate url
|
639 |
+
if (filter_var($url, FILTER_VALIDATE_URL) !== false) {
|
640 |
+
$url=parse_url($url);
|
641 |
+
if(array_key_exists('host',$url)){
|
642 |
+
$arr = explode('.',$url['host']);
|
643 |
+
$WABrand = $arr[count($arr) - 2];
|
644 |
+
}
|
645 |
+
}
|
646 |
+
|
647 |
+
?>
|
648 |
+
<input type="text" name="default[]" value="<?php echo $WABrand; ?>" autocomplete="off" class="wf_default wf_attributes"/>
|
649 |
</td>
|
650 |
<td>
|
651 |
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
admin/partials/woo-feed-admin-display.php
CHANGED
@@ -17,6 +17,7 @@ $dropDown = new Woo_Feed_Dropdown();
|
|
17 |
$product = new Woo_Feed_Products();
|
18 |
$attributes=new Woo_Feed_Default_Attributes();
|
19 |
$product->load_attributes();
|
|
|
20 |
?>
|
21 |
|
22 |
<div class="wrap" id="Feed">
|
17 |
$product = new Woo_Feed_Products();
|
18 |
$attributes=new Woo_Feed_Default_Attributes();
|
19 |
$product->load_attributes();
|
20 |
+
|
21 |
?>
|
22 |
|
23 |
<div class="wrap" id="Feed">
|
admin/partials/woo-feed-edit-template.php
CHANGED
@@ -14,6 +14,12 @@
|
|
14 |
$dropDown = new Woo_Feed_Dropdown();
|
15 |
$product = new Woo_Feed_Products();
|
16 |
$product->load_attributes();
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$AttributesDropdown = $feedRules['provider'] . "AttributesDropdown";
|
18 |
//echo "<pre>";print_r($feedRules);
|
19 |
?>
|
14 |
$dropDown = new Woo_Feed_Dropdown();
|
15 |
$product = new Woo_Feed_Products();
|
16 |
$product->load_attributes();
|
17 |
+
|
18 |
+
# Condition is for those merchants which support another merchant feed requirements.
|
19 |
+
if($feedRules['provider']=='adroll'){
|
20 |
+
$feedRules['provider']='google';
|
21 |
+
}
|
22 |
+
|
23 |
$AttributesDropdown = $feedRules['provider'] . "AttributesDropdown";
|
24 |
//echo "<pre>";print_r($feedRules);
|
25 |
?>
|
admin/partials/woo-feed-manage-list.php
CHANGED
@@ -232,7 +232,7 @@ if(isset($_POST)&& isset($_POST['filename'])){
|
|
232 |
processFeed(products,0,0);
|
233 |
}
|
234 |
|
235 |
-
|
236 |
|
237 |
$(".feed-progress-container2").text("Processing Products...");
|
238 |
}else{
|
@@ -260,7 +260,9 @@ if(isset($_POST)&& isset($_POST['filename'])){
|
|
260 |
console.log("Offset:"+currentProducts);
|
261 |
console.log("Limit:"+currentProducts);
|
262 |
|
263 |
-
|
|
|
|
|
264 |
|
265 |
if(batch<batches){
|
266 |
var a = performance.now();
|
@@ -276,7 +278,7 @@ if(isset($_POST)&& isset($_POST['filename'])){
|
|
276 |
feed: fileName
|
277 |
},
|
278 |
success : function(response) {
|
279 |
-
|
280 |
if(response.success) {
|
281 |
if(response.data.products=="yes"){
|
282 |
offset=offset+limit;
|
@@ -330,7 +332,7 @@ if(isset($_POST)&& isset($_POST['filename'])){
|
|
330 |
feed:fileName
|
331 |
},
|
332 |
success : function(response) {
|
333 |
-
|
334 |
if(response.success) {
|
335 |
width ='100';
|
336 |
showFeedProgress();
|
232 |
processFeed(products,0,0);
|
233 |
}
|
234 |
|
235 |
+
// console.log("Counting Total Products:"+products);
|
236 |
|
237 |
$(".feed-progress-container2").text("Processing Products...");
|
238 |
}else{
|
260 |
console.log("Offset:"+currentProducts);
|
261 |
console.log("Limit:"+currentProducts);
|
262 |
|
263 |
+
//$(".feed-progress-container2").text(currentProducts+" out of "+n+" products processed.");
|
264 |
+
var nWidth=Math.round(width);
|
265 |
+
$(".feed-progress-container2").text("Processing products..."+nWidth+"%");
|
266 |
|
267 |
if(batch<batches){
|
268 |
var a = performance.now();
|
278 |
feed: fileName
|
279 |
},
|
280 |
success : function(response) {
|
281 |
+
// console.log(response);
|
282 |
if(response.success) {
|
283 |
if(response.data.products=="yes"){
|
284 |
offset=offset+limit;
|
332 |
feed:fileName
|
333 |
},
|
334 |
success : function(response) {
|
335 |
+
// console.log(response);
|
336 |
if(response.success) {
|
337 |
width ='100';
|
338 |
showFeedProgress();
|
admin/partials/woo-feed-pro-vs-free.php
CHANGED
@@ -13,8 +13,76 @@
|
|
13 |
<div class="wrap">
|
14 |
<h2><?php echo _e('Pro vs Free', 'woo-feed'); ?></h2>
|
15 |
<?php echo WPFFWMessage()->infoMessage1(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
<table class="widefat fixed" >
|
17 |
<thead>
|
|
|
|
|
|
|
18 |
<tr>
|
19 |
<th><h3>Features</h3></th>
|
20 |
<th style="width: 30%;text-align: center;"><h3>Free</h3></th>
|
@@ -156,7 +224,7 @@
|
|
156 |
<tr>
|
157 |
<td></td>
|
158 |
<td></td>
|
159 |
-
<td style="text-align: center;"><a href="https://
|
160 |
</tr>
|
161 |
</tbody>
|
162 |
</table>
|
13 |
<div class="wrap">
|
14 |
<h2><?php echo _e('Pro vs Free', 'woo-feed'); ?></h2>
|
15 |
<?php echo WPFFWMessage()->infoMessage1(); ?>
|
16 |
+
|
17 |
+
|
18 |
+
<div class="woo_feed_free_manage_attribute">
|
19 |
+
|
20 |
+
<div class="woo_feed_screen">
|
21 |
+
<h2 class="woo-feed-screen-shot-title">Dynamic Attribute</h2>
|
22 |
+
<p class="woo_feed_screen_des">
|
23 |
+
The Dynamic Attribute combine the powerful features of the WooCommerce Product Feed Pro with the ability to set your own conditions for any types of the attribute.There are different types of Woocommerce users have different types & classes of products and services. So, they may need varieties of custom values to demonstrate their products. And we are giving the options to make dynamic attributes as your need. Also, it is possible to generate the data feed file according to the search engines requirements without changing the attributes in your store.
|
24 |
+
</p>
|
25 |
+
<p class="woo_feed_screen_des_2">
|
26 |
+
If you have both Simple Product and Variable Product with size, color and other attribute variations then you have to make a Dynamic Attribute for each attribute(color,size) which contain the value of that attribute for both Simple Product and Product Variations. See the example below.
|
27 |
+
</p>
|
28 |
+
<?php
|
29 |
+
echo '<img class="woo_feed_screenshort" src="' . plugins_url( 'images/DA_1.png', dirname(__FILE__) ) . '" > ';
|
30 |
+
?>
|
31 |
+
<p class="woo_feed_screen_des_2">
|
32 |
+
You can change your product price dynamically if you need.
|
33 |
+
</p>
|
34 |
+
<?php
|
35 |
+
echo '<img class="woo_feed_screenshort" src="' . plugins_url( 'images/DA_2.png', dirname(__FILE__) ) . '" > ';
|
36 |
+
?>
|
37 |
+
<p class="woo_feed_screen_des_2">
|
38 |
+
You can add vat with your price.
|
39 |
+
</p>
|
40 |
+
<?php
|
41 |
+
echo '<img class="woo_feed_screenshort" src="' . plugins_url( 'images/DA_3.png', dirname(__FILE__) ) . '" > ';
|
42 |
+
?>
|
43 |
+
<p class="woo_feed_screen_des_2">
|
44 |
+
It's possible to make Custom Label by searching your product information.
|
45 |
+
</p>
|
46 |
+
<?php
|
47 |
+
echo '<img class="woo_feed_screenshort" src="' . plugins_url( 'images/DA_4.png', dirname(__FILE__) ) . '" > ';
|
48 |
+
?>
|
49 |
+
</div>
|
50 |
+
|
51 |
+
<div class="woo_feed_screen">
|
52 |
+
<h2 class="woo-feed-screen-shot-title">Category Mapping (To Reach Your Buyer)</h2>
|
53 |
+
<p class="woo_feed_screen_des">
|
54 |
+
Categories are the most important key to getting products to the search result . It is best practice to assign most matching shopping engine category to your store category for each product. During the creating of your 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 process is totally dynamic by our plugin & you can map all of your categories to make it more relevant & reachable to buyers.
|
55 |
+
<br/><iframe width="560" height="315" src="https://www.youtube.com/embed/uofoOSwkCG8" frameborder="0" allowfullscreen></iframe>
|
56 |
+
</p>
|
57 |
+
|
58 |
+
</div>
|
59 |
+
|
60 |
+
<div class="woo_feed_screen">
|
61 |
+
<h2 class="woo-feed-screen-shot-title">Smart Filter & Conditions</h2>
|
62 |
+
<p class="woo_feed_screen_des">Smart Filters help you to exclude the Non-Profitable , Out of Season, Hidden or Drafted Products you don’t want to share. Also, Its high filtering options help users to filter products according to product titles, price, availability of stocks, user ratings, total sales and other extensive product specifications.</p>
|
63 |
+
<?php
|
64 |
+
echo '<img class="woo_feed_screenshort" src="' . plugins_url( 'images/filter.png', dirname(__FILE__) ) . '" > ';
|
65 |
+
?>
|
66 |
+
</div>
|
67 |
+
|
68 |
+
<div class="woo_feed_screen">
|
69 |
+
<h2 class="woo-feed-screen-shot-title">Multi Language Feed (WPML)</h2>
|
70 |
+
<p class="woo_feed_screen_des">WooCommerce Product Feed Pro is compatible with <b>WPML WooCommerce plugin</b>. And by supporting WPML this makes it possible for the e-commerce owners to create product feed in different languages. This enables the e-commerce owners the chance to globalize their business in minutes because you always have better chance of selling something if you are selling it in the native language.</p>
|
71 |
+
|
72 |
+
</div>
|
73 |
+
|
74 |
+
<div class="woo_feed_screen">
|
75 |
+
<h2 class="woo-feed-screen-shot-title">Custom Taxonomy</h2>
|
76 |
+
<p class="woo_feed_screen_des">The user can easily use any custom taxonomy or others WooCommerce plugin or extensions taxonomy value into the feed. For Example Product Brand, Model No size etc. So you can easily use those value into your feed.</p>
|
77 |
+
</div>
|
78 |
+
|
79 |
+
</div>
|
80 |
+
|
81 |
<table class="widefat fixed" >
|
82 |
<thead>
|
83 |
+
<tr>
|
84 |
+
<th colspan="3" style="font-size: 36px;text-align: center;color: #00b9eb;">Free vs Premium</th>
|
85 |
+
</tr>
|
86 |
<tr>
|
87 |
<th><h3>Features</h3></th>
|
88 |
<th style="width: 30%;text-align: center;"><h3>Free</h3></th>
|
224 |
<tr>
|
225 |
<td></td>
|
226 |
<td></td>
|
227 |
+
<td style="text-align: center;"><a href="https://goo.gl/URWvp6" target="_blank"><button class="button button-primary">Buy Now</button></a></td>
|
228 |
</tr>
|
229 |
</tbody>
|
230 |
</table>
|
includes/class-woo-feed.php
CHANGED
@@ -71,8 +71,8 @@ class Woo_Feed
|
|
71 |
{
|
72 |
|
73 |
$this->woo_feed = 'woo-feed';
|
74 |
-
$this->version = '2.1.
|
75 |
-
|
76 |
$this->load_dependencies();
|
77 |
$this->set_locale();
|
78 |
$this->define_admin_hooks();
|
71 |
{
|
72 |
|
73 |
$this->woo_feed = 'woo-feed';
|
74 |
+
$this->version = '2.1.21';
|
75 |
+
|
76 |
$this->load_dependencies();
|
77 |
$this->set_locale();
|
78 |
$this->define_admin_hooks();
|
includes/classes/class-woo-feed-admin-message.php
CHANGED
@@ -18,6 +18,8 @@ class Woo_Feed_Message
|
|
18 |
<table class="widefat fixed">
|
19 |
<tbody>
|
20 |
<tr>
|
|
|
|
|
21 |
<td align="center"><b><a target="_blank" style="color:#0073aa;"
|
22 |
href="http://webappick.helpscoutdocs.com/">DOCUMENTATION</a></b></td>
|
23 |
<td align="center"><b><a style="color:#ee264a;" target="_blank"
|
@@ -27,6 +29,13 @@ class Woo_Feed_Message
|
|
27 |
href="https://webappick.com/support/">FREE SUPPORT & HELP ( support@webappick.com )</a></b></td>
|
28 |
</tr>
|
29 |
</tbody>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
</table><br>
|
31 |
EOD;
|
32 |
return $html;
|
18 |
<table class="widefat fixed">
|
19 |
<tbody>
|
20 |
<tr>
|
21 |
+
<td align="center"><b><a target="_blank" style="color:#ee264a;"
|
22 |
+
href="https://goo.gl/URWvp6">GET PREMIUM</a></b></td>
|
23 |
<td align="center"><b><a target="_blank" style="color:#0073aa;"
|
24 |
href="http://webappick.helpscoutdocs.com/">DOCUMENTATION</a></b></td>
|
25 |
<td align="center"><b><a style="color:#ee264a;" target="_blank"
|
29 |
href="https://webappick.com/support/">FREE SUPPORT & HELP ( support@webappick.com )</a></b></td>
|
30 |
</tr>
|
31 |
</tbody>
|
32 |
+
</table>
|
33 |
+
<table class="widefat fixed">
|
34 |
+
<tbody>
|
35 |
+
<tr>
|
36 |
+
<td align='center'>If you like <b>WooCommerce Product Feed</b>, Please leave us a <a target="_blank" style="color:#0073aa;text-decoration: underline" href="https://wordpress.org/support/plugin/webappick-product-feed-for-woocommerce/reviews/?rate=5#new-post">★★★★★</a> rating at <a target="_blank" style="color:#0073aa;" href="https://wordpress.org/support/plugin/webappick-product-feed-for-woocommerce/reviews/?rate=5#new-post">WordPress.org</a> and claim your <a href="https://goo.gl/7Di7wJ" target="_blanck"><b>special discount</b></a> to get the premium version.</td>
|
37 |
+
</tr>
|
38 |
+
</tbody>
|
39 |
</table><br>
|
40 |
EOD;
|
41 |
return $html;
|
includes/classes/class-woo-feed-default-attributes.php
CHANGED
@@ -45,8 +45,7 @@ class Woo_Feed_Default_Attributes
|
|
45 |
"bing" =>"Bing",
|
46 |
"become" =>"Become",
|
47 |
"connexity" =>"Connexity",
|
48 |
-
"
|
49 |
-
"prisjakt" =>"Prisjakt",
|
50 |
"---2" =>"",
|
51 |
"--3" =>"Amazon Template",
|
52 |
"amazon_clothing" =>"Clothing",
|
45 |
"bing" =>"Bing",
|
46 |
"become" =>"Become",
|
47 |
"connexity" =>"Connexity",
|
48 |
+
"adroll" =>"AdRoll",
|
|
|
49 |
"---2" =>"",
|
50 |
"--3" =>"Amazon Template",
|
51 |
"amazon_clothing" =>"Clothing",
|
includes/classes/class-woo-feed-engine.php
CHANGED
@@ -182,6 +182,7 @@ class WF_Engine
|
|
182 |
if (array_key_exists($rules['value'], $value)) {
|
183 |
$output = $value[$rules['value']];
|
184 |
if (!empty($output)) {
|
|
|
185 |
if(!empty($rules['type'])){
|
186 |
foreach ($rules['type'] as $key22 => $value22) {
|
187 |
# Format Output According to output type
|
@@ -243,6 +244,11 @@ class WF_Engine
|
|
243 |
}
|
244 |
}
|
245 |
}
|
|
|
|
|
|
|
|
|
|
|
246 |
} elseif ($output=="0"){
|
247 |
$output="0";
|
248 |
} else{
|
@@ -256,6 +262,7 @@ class WF_Engine
|
|
256 |
if (!empty($default[$i])) {
|
257 |
$output = str_replace("wf_pattern_", "", $rules['value']);
|
258 |
if (!empty($output)) {
|
|
|
259 |
# Format Output According to output type
|
260 |
if(!empty($rules['type'])){
|
261 |
foreach ($rules['type'] as $key22 => $value22) {
|
@@ -305,6 +312,7 @@ class WF_Engine
|
|
305 |
}
|
306 |
}
|
307 |
$output = '<![CDATA[' . $output . ']]>';
|
|
|
308 |
} else {
|
309 |
if(substr($output, 0, 4 ) === "http"){
|
310 |
$output = $this->make_url_with_parameter($rules['prefix'],$output,$rules['suffix']);
|
@@ -317,6 +325,11 @@ class WF_Engine
|
|
317 |
}
|
318 |
}
|
319 |
}
|
|
|
|
|
|
|
|
|
|
|
320 |
} elseif ($output=="0"){
|
321 |
$output="0";
|
322 |
} else{
|
@@ -506,6 +519,7 @@ class WF_Engine
|
|
506 |
$string = str_replace( "\n", ' ', $string );
|
507 |
$string = str_replace( "\r", ' ', $string );
|
508 |
$string =trim($string);
|
|
|
509 |
return $string;
|
510 |
}else if($string=="0"){
|
511 |
return "0";
|
@@ -535,7 +549,7 @@ class WF_Engine
|
|
535 |
$string = str_replace( "\r", ' ', $string );
|
536 |
$string = str_replace( "\t", ' ', $string );
|
537 |
$string = trim($string);
|
538 |
-
|
539 |
return $string;
|
540 |
}else if($string=="0"){
|
541 |
return "0";
|
182 |
if (array_key_exists($rules['value'], $value)) {
|
183 |
$output = $value[$rules['value']];
|
184 |
if (!empty($output)) {
|
185 |
+
|
186 |
if(!empty($rules['type'])){
|
187 |
foreach ($rules['type'] as $key22 => $value22) {
|
188 |
# Format Output According to output type
|
244 |
}
|
245 |
}
|
246 |
}
|
247 |
+
|
248 |
+
if(!empty($output)){
|
249 |
+
$output=stripslashes($output);
|
250 |
+
}
|
251 |
+
|
252 |
} elseif ($output=="0"){
|
253 |
$output="0";
|
254 |
} else{
|
262 |
if (!empty($default[$i])) {
|
263 |
$output = str_replace("wf_pattern_", "", $rules['value']);
|
264 |
if (!empty($output)) {
|
265 |
+
|
266 |
# Format Output According to output type
|
267 |
if(!empty($rules['type'])){
|
268 |
foreach ($rules['type'] as $key22 => $value22) {
|
312 |
}
|
313 |
}
|
314 |
$output = '<![CDATA[' . $output . ']]>';
|
315 |
+
|
316 |
} else {
|
317 |
if(substr($output, 0, 4 ) === "http"){
|
318 |
$output = $this->make_url_with_parameter($rules['prefix'],$output,$rules['suffix']);
|
325 |
}
|
326 |
}
|
327 |
}
|
328 |
+
|
329 |
+
if(!empty($output)){
|
330 |
+
$output=stripslashes($output);
|
331 |
+
}
|
332 |
+
|
333 |
} elseif ($output=="0"){
|
334 |
$output="0";
|
335 |
} else{
|
519 |
$string = str_replace( "\n", ' ', $string );
|
520 |
$string = str_replace( "\r", ' ', $string );
|
521 |
$string =trim($string);
|
522 |
+
$string = stripslashes($string);
|
523 |
return $string;
|
524 |
}else if($string=="0"){
|
525 |
return "0";
|
549 |
$string = str_replace( "\r", ' ', $string );
|
550 |
$string = str_replace( "\t", ' ', $string );
|
551 |
$string = trim($string);
|
552 |
+
$string = stripslashes($string);
|
553 |
return $string;
|
554 |
}else if($string=="0"){
|
555 |
return "0";
|
includes/classes/class-woo-feed-products.php
CHANGED
@@ -63,7 +63,7 @@ class Woo_Feed_Products
|
|
63 |
* @var array $attributeList attributes list array.
|
64 |
*/
|
65 |
public $attributeList;
|
66 |
-
|
67 |
public $feedRule;
|
68 |
public $idExist=array();
|
69 |
/**
|
@@ -74,7 +74,7 @@ class Woo_Feed_Products
|
|
74 |
public function woo_feed_get_visible_product($feedRule="")
|
75 |
{
|
76 |
try{
|
77 |
-
|
78 |
if(!empty($feedRule)){
|
79 |
$this->feedRule=$feedRule;
|
80 |
}
|
@@ -158,7 +158,7 @@ class Woo_Feed_Products
|
|
158 |
|
159 |
$parentStatus=get_post($this->parentID);
|
160 |
if($parentStatus && is_object($parentStatus) && $parentStatus->post_status!='publish'){
|
161 |
-
continue;
|
162 |
}
|
163 |
|
164 |
# Check Valid URL
|
@@ -240,12 +240,12 @@ class Woo_Feed_Products
|
|
240 |
$this->productsList[$i]['quantity'] = $this->get_quantity($this->childID, "_stock");
|
241 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($this->childID, "_sale_price_dates_from");
|
242 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($this->childID, "_sale_price_dates_to");
|
243 |
-
$this->productsList[$i]['price'] = ($product->get_regular_price()) ? $product->get_regular_price() :
|
244 |
-
$this->productsList[$i]['sale_price'] = ($product->
|
245 |
-
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() :
|
246 |
-
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() :
|
247 |
-
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() :
|
248 |
-
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() :
|
249 |
|
250 |
# Sale price effective date
|
251 |
$from = $this->sale_price_effective_date($this->childID, '_sale_price_dates_from');
|
@@ -332,12 +332,12 @@ class Woo_Feed_Products
|
|
332 |
$this->productsList[$i]['quantity'] = $this->get_quantity($post->ID, "_stock");
|
333 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($post->ID, "_sale_price_dates_from");
|
334 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($post->ID, "_sale_price_dates_to");
|
335 |
-
$this->productsList[$i]['price'] = ($product->get_regular_price()) ? $product->get_regular_price() :
|
336 |
-
$this->productsList[$i]['sale_price'] = ($product->
|
337 |
-
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() :
|
338 |
-
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() :
|
339 |
-
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() :
|
340 |
-
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() :
|
341 |
|
342 |
# Sale price effective date
|
343 |
$from = $this->sale_price_effective_date($post->ID, '_sale_price_dates_from');
|
@@ -416,12 +416,12 @@ class Woo_Feed_Products
|
|
416 |
$this->productsList[$i]['quantity'] = $this->get_quantity($post->ID, "_stock");
|
417 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($post->ID, "_sale_price_dates_from");
|
418 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($post->ID, "_sale_price_dates_to");
|
419 |
-
$this->productsList[$i]['price'] = ($product->get_regular_price()) ? $product->get_regular_price() :
|
420 |
-
$this->productsList[$i]['sale_price'] = ($product->
|
421 |
-
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() :
|
422 |
-
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() :
|
423 |
-
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() :
|
424 |
-
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() :
|
425 |
|
426 |
# Sale price effective date
|
427 |
$from = $this->sale_price_effective_date($post->ID, '_sale_price_dates_from');
|
@@ -523,12 +523,12 @@ class Woo_Feed_Products
|
|
523 |
$this->productsList[$i]['quantity'] = $this->get_quantity($post->ID, "_stock");
|
524 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($post->ID, "_sale_price_dates_from");
|
525 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($post->ID, "_sale_price_dates_to");
|
526 |
-
$this->productsList[$i]['price'] =($product->
|
527 |
-
$this->productsList[$i]['sale_price'] =($product->
|
528 |
-
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() :
|
529 |
-
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() :
|
530 |
-
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() :
|
531 |
-
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() :
|
532 |
|
533 |
# Sale price effective date
|
534 |
$from = $this->sale_price_effective_date($post->ID, '_sale_price_dates_from');
|
@@ -609,17 +609,14 @@ class Woo_Feed_Products
|
|
609 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($post->ID, "_sale_price_dates_from");
|
610 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($post->ID, "_sale_price_dates_to");
|
611 |
|
612 |
-
|
613 |
-
|
614 |
$price=($product->get_price()) ? $product->get_price() : false;
|
615 |
-
|
616 |
-
|
617 |
-
$this->productsList[$i]['
|
618 |
-
$this->productsList[$i]['
|
619 |
-
$this->productsList[$i]['
|
620 |
-
$this->productsList[$i]['
|
621 |
-
$this->productsList[$i]['
|
622 |
-
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() : false;
|
623 |
|
624 |
# Sale price effective date
|
625 |
$from = $this->sale_price_effective_date($post->ID, '_sale_price_dates_from');
|
@@ -631,7 +628,7 @@ class Woo_Feed_Products
|
|
631 |
} else {
|
632 |
$this->productsList[$i]['sale_price_effective_date'] = "";
|
633 |
}
|
634 |
-
|
635 |
}
|
636 |
$i++;
|
637 |
endwhile;
|
@@ -743,7 +740,7 @@ class Woo_Feed_Products
|
|
743 |
*
|
744 |
* @return array
|
745 |
*/
|
746 |
-
|
747 |
public function additionalImages($Id)
|
748 |
{
|
749 |
$ids=$this->getAttributeValue($Id,"_product_image_gallery");
|
@@ -851,7 +848,7 @@ class Woo_Feed_Products
|
|
851 |
$sql = "SELECT meta_key as name, meta_value as type
|
852 |
FROM " . $wpdb->prefix . "postmeta" . " group by meta_key";
|
853 |
$data = $wpdb->get_results($sql);
|
854 |
-
if (
|
855 |
foreach ($data as $key => $value) {
|
856 |
if (substr($value->name, 0, 1) !== "_") { //&& substr($value->name, 0, 13) !== "attribute_pa_"
|
857 |
$info["wf_cattr_" . $value->name] = $value->name;
|
@@ -1101,6 +1098,7 @@ class Woo_Feed_Products
|
|
1101 |
$images = array(
|
1102 |
"image" => "Main Image",
|
1103 |
"feature_image" => "Featured Image",
|
|
|
1104 |
"image_1" => "Additional Image 1",
|
1105 |
"image_2" => "Additional Image 2",
|
1106 |
"image_3" => "Additional Image 3",
|
63 |
* @var array $attributeList attributes list array.
|
64 |
*/
|
65 |
public $attributeList;
|
66 |
+
|
67 |
public $feedRule;
|
68 |
public $idExist=array();
|
69 |
/**
|
74 |
public function woo_feed_get_visible_product($feedRule="")
|
75 |
{
|
76 |
try{
|
77 |
+
|
78 |
if(!empty($feedRule)){
|
79 |
$this->feedRule=$feedRule;
|
80 |
}
|
158 |
|
159 |
$parentStatus=get_post($this->parentID);
|
160 |
if($parentStatus && is_object($parentStatus) && $parentStatus->post_status!='publish'){
|
161 |
+
continue;
|
162 |
}
|
163 |
|
164 |
# Check Valid URL
|
240 |
$this->productsList[$i]['quantity'] = $this->get_quantity($this->childID, "_stock");
|
241 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($this->childID, "_sale_price_dates_from");
|
242 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($this->childID, "_sale_price_dates_to");
|
243 |
+
$this->productsList[$i]['price'] = ($product->get_regular_price()) ? $product->get_regular_price() : $product->get_price();
|
244 |
+
$this->productsList[$i]['sale_price'] = ($product->get_sale_price()) ? $product->get_sale_price() : "";
|
245 |
+
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() : "";
|
246 |
+
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() : "";
|
247 |
+
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() : "";
|
248 |
+
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() : "";
|
249 |
|
250 |
# Sale price effective date
|
251 |
$from = $this->sale_price_effective_date($this->childID, '_sale_price_dates_from');
|
332 |
$this->productsList[$i]['quantity'] = $this->get_quantity($post->ID, "_stock");
|
333 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($post->ID, "_sale_price_dates_from");
|
334 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($post->ID, "_sale_price_dates_to");
|
335 |
+
$this->productsList[$i]['price'] = ($product->get_regular_price()) ? $product->get_regular_price() : $product->get_price();
|
336 |
+
$this->productsList[$i]['sale_price'] = ($product->get_sale_price()) ? $product->get_sale_price() : "";
|
337 |
+
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() : "";
|
338 |
+
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() : "";
|
339 |
+
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() : "";
|
340 |
+
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() : "";
|
341 |
|
342 |
# Sale price effective date
|
343 |
$from = $this->sale_price_effective_date($post->ID, '_sale_price_dates_from');
|
416 |
$this->productsList[$i]['quantity'] = $this->get_quantity($post->ID, "_stock");
|
417 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($post->ID, "_sale_price_dates_from");
|
418 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($post->ID, "_sale_price_dates_to");
|
419 |
+
$this->productsList[$i]['price'] = ($product->get_regular_price()) ? $product->get_regular_price() : $product->get_price();
|
420 |
+
$this->productsList[$i]['sale_price'] = ($product->get_sale_price()) ? $product->get_sale_price() : "";
|
421 |
+
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() : "";
|
422 |
+
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() : "";
|
423 |
+
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() : "";
|
424 |
+
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() : "";
|
425 |
|
426 |
# Sale price effective date
|
427 |
$from = $this->sale_price_effective_date($post->ID, '_sale_price_dates_from');
|
523 |
$this->productsList[$i]['quantity'] = $this->get_quantity($post->ID, "_stock");
|
524 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($post->ID, "_sale_price_dates_from");
|
525 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($post->ID, "_sale_price_dates_to");
|
526 |
+
$this->productsList[$i]['price'] =($product->get_regular_price()) ? $product->get_regular_price() : $product->get_price();
|
527 |
+
$this->productsList[$i]['sale_price'] =($product->get_sale_price()) ? $product->get_sale_price() : "";
|
528 |
+
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() : "";
|
529 |
+
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() : "";
|
530 |
+
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() : "";
|
531 |
+
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() : "";
|
532 |
|
533 |
# Sale price effective date
|
534 |
$from = $this->sale_price_effective_date($post->ID, '_sale_price_dates_from');
|
609 |
$this->productsList[$i]['sale_price_sdate'] = $this->get_date($post->ID, "_sale_price_dates_from");
|
610 |
$this->productsList[$i]['sale_price_edate'] = $this->get_date($post->ID, "_sale_price_dates_to");
|
611 |
|
|
|
|
|
612 |
$price=($product->get_price()) ? $product->get_price() : false;
|
613 |
+
|
614 |
+
$this->productsList[$i]['price'] = ($product->get_regular_price()) ? $product->get_regular_price() : $price;
|
615 |
+
$this->productsList[$i]['sale_price'] =($product->get_sale_price()) ? $product->get_sale_price() : "";
|
616 |
+
$this->productsList[$i]['weight'] = ($product->get_weight()) ? $product->get_weight() : "";
|
617 |
+
$this->productsList[$i]['width'] = ($product->get_width()) ? $product->get_width() : "";
|
618 |
+
$this->productsList[$i]['height'] = ($product->get_height()) ? $product->get_height() : "";
|
619 |
+
$this->productsList[$i]['length'] = ($product->get_length()) ? $product->get_length() : "";
|
|
|
620 |
|
621 |
# Sale price effective date
|
622 |
$from = $this->sale_price_effective_date($post->ID, '_sale_price_dates_from');
|
628 |
} else {
|
629 |
$this->productsList[$i]['sale_price_effective_date'] = "";
|
630 |
}
|
631 |
+
}
|
632 |
}
|
633 |
$i++;
|
634 |
endwhile;
|
740 |
*
|
741 |
* @return array
|
742 |
*/
|
743 |
+
|
744 |
public function additionalImages($Id)
|
745 |
{
|
746 |
$ids=$this->getAttributeValue($Id,"_product_image_gallery");
|
848 |
$sql = "SELECT meta_key as name, meta_value as type
|
849 |
FROM " . $wpdb->prefix . "postmeta" . " group by meta_key";
|
850 |
$data = $wpdb->get_results($sql);
|
851 |
+
if ($data) {
|
852 |
foreach ($data as $key => $value) {
|
853 |
if (substr($value->name, 0, 1) !== "_") { //&& substr($value->name, 0, 13) !== "attribute_pa_"
|
854 |
$info["wf_cattr_" . $value->name] = $value->name;
|
1098 |
$images = array(
|
1099 |
"image" => "Main Image",
|
1100 |
"feature_image" => "Featured Image",
|
1101 |
+
"images" => "Images [Comma Separated]",
|
1102 |
"image_1" => "Additional Image 1",
|
1103 |
"image_2" => "Additional Image 2",
|
1104 |
"image_3" => "Additional Image 3",
|
includes/feeds/class-woo-feed-facebook.php
CHANGED
@@ -421,9 +421,9 @@ class Woo_Feed_Facebook
|
|
421 |
$output = '<?xml version="1.0" encoding="UTF-8" ?>
|
422 |
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
|
423 |
<channel>
|
424 |
-
<title
|
425 |
<link><![CDATA[' . site_url() . ']]></link>
|
426 |
-
<description
|
427 |
return $output;
|
428 |
}
|
429 |
|
421 |
$output = '<?xml version="1.0" encoding="UTF-8" ?>
|
422 |
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
|
423 |
<channel>
|
424 |
+
<title><![CDATA[' . html_entity_decode(get_option('blogname')) . ']]></title>
|
425 |
<link><![CDATA[' . site_url() . ']]></link>
|
426 |
+
<description><![CDATA[' . html_entity_decode( get_option('blogdescription')) . ']]></description>';
|
427 |
return $output;
|
428 |
}
|
429 |
|
includes/feeds/class-woo-feed-google.php
CHANGED
@@ -471,9 +471,9 @@ class Woo_Feed_Google
|
|
471 |
$output = '<?xml version="1.0" encoding="UTF-8" ?>
|
472 |
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0" xmlns:c="http://base.google.com/cns/1.0">
|
473 |
<channel>
|
474 |
-
<title
|
475 |
<link><![CDATA['.site_url().']]></link>
|
476 |
-
<description
|
477 |
return $output;
|
478 |
}
|
479 |
|
471 |
$output = '<?xml version="1.0" encoding="UTF-8" ?>
|
472 |
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0" xmlns:c="http://base.google.com/cns/1.0">
|
473 |
<channel>
|
474 |
+
<title><![CDATA[' . html_entity_decode(get_option('blogname')) . ']]></title>
|
475 |
<link><![CDATA['.site_url().']]></link>
|
476 |
+
<description><![CDATA['.html_entity_decode(get_option('blogdescription')).']]></description>';
|
477 |
return $output;
|
478 |
}
|
479 |
|
woo-feed.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* Plugin Name: WooCommerce Product Feed
|
17 |
* Plugin URI: https://webappick.com/
|
18 |
* Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
|
19 |
-
* Version: 2.1.
|
20 |
* Author: WebAppick
|
21 |
* Author URI: https://webappick.com/
|
22 |
* License: GPL v2
|
@@ -125,7 +125,7 @@ function woo_feed_add_update($info = "", $name = "")
|
|
125 |
set_time_limit(0);
|
126 |
if (count($info) && isset($info['provider'])) {
|
127 |
# GEt Post data
|
128 |
-
if ($info['provider'] == 'google') {
|
129 |
$merchant = "Woo_Feed_Google";
|
130 |
} elseif ($info['provider'] == 'facebook') {
|
131 |
$merchant = "Woo_Feed_Facebook";
|
@@ -142,13 +142,7 @@ function woo_feed_add_update($info = "", $name = "")
|
|
142 |
$type = sanitize_text_field($info['feedType']);
|
143 |
|
144 |
$feedRules = $info;
|
145 |
-
|
146 |
-
# FTP File Upload Info
|
147 |
-
$ftphost = sanitize_text_field($info['ftphost']);
|
148 |
-
$ftpuser = sanitize_text_field($info['ftpuser']);
|
149 |
-
$ftppassword = sanitize_text_field($info['ftppassword']);
|
150 |
-
$ftppath = sanitize_text_field($info['ftppath']);
|
151 |
-
$ftpenabled = sanitize_text_field($info['ftpenabled']);
|
152 |
|
153 |
# Get Feed info
|
154 |
$products = new Woo_Generate_Feed($merchant, $feedRules);
|
@@ -156,13 +150,18 @@ function woo_feed_add_update($info = "", $name = "")
|
|
156 |
|
157 |
if($type=='csv'){
|
158 |
$csvHead[0]=$getString['header'];
|
159 |
-
$
|
|
|
|
|
|
|
|
|
|
|
160 |
}else{
|
161 |
$string=$getString['header'].$getString['body'].$getString['footer'];
|
162 |
}
|
163 |
|
164 |
# Check If any products founds
|
165 |
-
if ($string) {
|
166 |
|
167 |
$upload_dir = wp_upload_dir();
|
168 |
$base = $upload_dir['basedir'];
|
@@ -177,12 +176,26 @@ function woo_feed_add_update($info = "", $name = "")
|
|
177 |
$saveFile = $save->saveFile($path, $file, $string);
|
178 |
}
|
179 |
|
180 |
-
#
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
}
|
187 |
|
188 |
# Save Info into database
|
@@ -279,7 +292,7 @@ function woo_feed_generate_feed_data($info){
|
|
279 |
try{
|
280 |
if (count($info) && isset($info['provider'])) {
|
281 |
# GEt Post data
|
282 |
-
if ($info['provider'] == 'google') {
|
283 |
$merchant = "Woo_Feed_Google";
|
284 |
} elseif ($info['provider'] == 'facebook') {
|
285 |
$merchant = "Woo_Feed_Facebook";
|
@@ -307,11 +320,15 @@ function woo_feed_generate_feed_data($info){
|
|
307 |
$prevFeed= woo_feed_get_batch_feed_info($feedService,$type,$feedBody);
|
308 |
if($prevFeed){
|
309 |
if($type=='csv'){
|
310 |
-
|
|
|
|
|
|
|
311 |
}else{
|
312 |
$newFeed=$prevFeed.$feed['body'];
|
|
|
313 |
}
|
314 |
-
|
315 |
}else{
|
316 |
woo_feed_save_batch_feed_info($feedService,$type,$feed['body'],$feedBody);
|
317 |
}
|
@@ -469,7 +486,11 @@ function woo_feed_save_feed_file(){
|
|
469 |
|
470 |
if($type=='csv'){
|
471 |
$csvHead[0]=$feedHeader;
|
472 |
-
$
|
|
|
|
|
|
|
|
|
473 |
}else{
|
474 |
$string=$feedHeader.$feedBody.$feedFooter;
|
475 |
}
|
@@ -480,7 +501,7 @@ function woo_feed_save_feed_file(){
|
|
480 |
$path = $base . "/woo-feed/" . $feedService . "/" . $type;
|
481 |
$saveFile = false;
|
482 |
# Check If any products founds
|
483 |
-
if ($string) {
|
484 |
# Save File
|
485 |
|
486 |
$file = $path . "/" . $fileName . "." . $type;
|
@@ -491,7 +512,7 @@ function woo_feed_save_feed_file(){
|
|
491 |
$saveFile = $save->saveFile($path, $file, $string);
|
492 |
}
|
493 |
}else{
|
494 |
-
$data=array("success"=>false,"message"=>"No Product Found with your feed configuration. Please
|
495 |
wp_send_json_error($data);
|
496 |
wp_die();
|
497 |
}
|
@@ -527,6 +548,30 @@ function woo_feed_save_feed_file(){
|
|
527 |
|
528 |
$update = update_option('wf_feed_' . $fileName, serialize($feedInfo));
|
529 |
if ($saveFile) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
530 |
$getInfo = unserialize(get_option('wf_feed_' . $fileName));
|
531 |
$url = $getInfo['url'];
|
532 |
$data=array(
|
@@ -645,7 +690,6 @@ function woo_feed_config_feed(){
|
|
645 |
require plugin_dir_path(__FILE__) . 'admin/partials/woo-feed-config.php';
|
646 |
}
|
647 |
|
648 |
-
|
649 |
/*
|
650 |
* Scheduled Action Hook
|
651 |
*/
|
16 |
* Plugin Name: WooCommerce Product Feed
|
17 |
* Plugin URI: https://webappick.com/
|
18 |
* Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
|
19 |
+
* Version: 2.1.21
|
20 |
* Author: WebAppick
|
21 |
* Author URI: https://webappick.com/
|
22 |
* License: GPL v2
|
125 |
set_time_limit(0);
|
126 |
if (count($info) && isset($info['provider'])) {
|
127 |
# GEt Post data
|
128 |
+
if ($info['provider'] == 'google' || $info['provider'] == 'adroll') {
|
129 |
$merchant = "Woo_Feed_Google";
|
130 |
} elseif ($info['provider'] == 'facebook') {
|
131 |
$merchant = "Woo_Feed_Facebook";
|
142 |
$type = sanitize_text_field($info['feedType']);
|
143 |
|
144 |
$feedRules = $info;
|
145 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
|
147 |
# Get Feed info
|
148 |
$products = new Woo_Generate_Feed($merchant, $feedRules);
|
150 |
|
151 |
if($type=='csv'){
|
152 |
$csvHead[0]=$getString['header'];
|
153 |
+
if(!empty($csvHead) && !empty($getString['body'])){
|
154 |
+
$string=array_merge($csvHead,$getString['body']);
|
155 |
+
}else{
|
156 |
+
$string=array();
|
157 |
+
}
|
158 |
+
|
159 |
}else{
|
160 |
$string=$getString['header'].$getString['body'].$getString['footer'];
|
161 |
}
|
162 |
|
163 |
# Check If any products founds
|
164 |
+
if ($string && !empty($string)) {
|
165 |
|
166 |
$upload_dir = wp_upload_dir();
|
167 |
$base = $upload_dir['basedir'];
|
176 |
$saveFile = $save->saveFile($path, $file, $string);
|
177 |
}
|
178 |
|
179 |
+
# FTP File Upload Info
|
180 |
+
$ftpHost = sanitize_text_field($info['ftphost']);
|
181 |
+
$ftpUser = sanitize_text_field($info['ftpuser']);
|
182 |
+
$ftpPassword = sanitize_text_field($info['ftppassword']);
|
183 |
+
$ftpPath = sanitize_text_field($info['ftppath']);
|
184 |
+
$ftpEnabled = sanitize_text_field($info['ftpenabled']);
|
185 |
+
|
186 |
+
try{
|
187 |
+
if ($type == "json") {
|
188 |
+
$type="csv";
|
189 |
+
}
|
190 |
+
# Upload file to ftp server
|
191 |
+
if ($ftpEnabled) {
|
192 |
+
$ftp = new FTPClient();
|
193 |
+
if ($ftp->connect($ftpHost, $ftpUser, $ftpPassword)){
|
194 |
+
$ftp->uploadFile($file, $fileName . "." . $type);
|
195 |
+
}
|
196 |
+
}
|
197 |
+
}catch (Exception $e){
|
198 |
+
|
199 |
}
|
200 |
|
201 |
# Save Info into database
|
292 |
try{
|
293 |
if (count($info) && isset($info['provider'])) {
|
294 |
# GEt Post data
|
295 |
+
if ($info['provider'] == 'google' || $info['provider'] == 'adroll') {
|
296 |
$merchant = "Woo_Feed_Google";
|
297 |
} elseif ($info['provider'] == 'facebook') {
|
298 |
$merchant = "Woo_Feed_Facebook";
|
320 |
$prevFeed= woo_feed_get_batch_feed_info($feedService,$type,$feedBody);
|
321 |
if($prevFeed){
|
322 |
if($type=='csv'){
|
323 |
+
if(!empty($prevFeed)){
|
324 |
+
$newFeed=array_merge($prevFeed, $feed['body']);
|
325 |
+
woo_feed_save_batch_feed_info($feedService,$type,$newFeed,$feedBody);
|
326 |
+
}
|
327 |
}else{
|
328 |
$newFeed=$prevFeed.$feed['body'];
|
329 |
+
woo_feed_save_batch_feed_info($feedService,$type,$newFeed,$feedBody);
|
330 |
}
|
331 |
+
|
332 |
}else{
|
333 |
woo_feed_save_batch_feed_info($feedService,$type,$feed['body'],$feedBody);
|
334 |
}
|
486 |
|
487 |
if($type=='csv'){
|
488 |
$csvHead[0]=$feedHeader;
|
489 |
+
if(!empty($csvHead) && !empty($feedBody)){
|
490 |
+
$string=array_merge($csvHead,$feedBody);
|
491 |
+
}else{
|
492 |
+
$string=array();
|
493 |
+
}
|
494 |
}else{
|
495 |
$string=$feedHeader.$feedBody.$feedFooter;
|
496 |
}
|
501 |
$path = $base . "/woo-feed/" . $feedService . "/" . $type;
|
502 |
$saveFile = false;
|
503 |
# Check If any products founds
|
504 |
+
if ($string && !empty($string)) {
|
505 |
# Save File
|
506 |
|
507 |
$file = $path . "/" . $fileName . "." . $type;
|
512 |
$saveFile = $save->saveFile($path, $file, $string);
|
513 |
}
|
514 |
}else{
|
515 |
+
$data=array("success"=>false,"message"=>"No Product Found with your feed configuration. Please configure the feed properly.");
|
516 |
wp_send_json_error($data);
|
517 |
wp_die();
|
518 |
}
|
548 |
|
549 |
$update = update_option('wf_feed_' . $fileName, serialize($feedInfo));
|
550 |
if ($saveFile) {
|
551 |
+
|
552 |
+
# FTP File Upload Info
|
553 |
+
$ftpHost = $info['ftphost'];
|
554 |
+
$ftpUser = $info['ftpuser'];
|
555 |
+
$ftpPassword = $info['ftppassword'];
|
556 |
+
$ftpPath = $info['ftppath'];
|
557 |
+
$ftpEnabled = $info['ftpenabled'];
|
558 |
+
|
559 |
+
try{
|
560 |
+
if ($type == "json") {
|
561 |
+
$type="csv";
|
562 |
+
}
|
563 |
+
# Upload file to ftp server
|
564 |
+
if ($ftpEnabled) {
|
565 |
+
$ftp = new FTPClient();
|
566 |
+
if ($ftp->connect($ftpHost, $ftpUser, $ftpPassword)){
|
567 |
+
$ftp->uploadFile($file, $fileName . "." . $type);
|
568 |
+
}
|
569 |
+
}
|
570 |
+
}catch (Exception $e){
|
571 |
+
|
572 |
+
}
|
573 |
+
|
574 |
+
|
575 |
$getInfo = unserialize(get_option('wf_feed_' . $fileName));
|
576 |
$url = $getInfo['url'];
|
577 |
$data=array(
|
690 |
require plugin_dir_path(__FILE__) . 'admin/partials/woo-feed-config.php';
|
691 |
}
|
692 |
|
|
|
693 |
/*
|
694 |
* Scheduled Action Hook
|
695 |
*/
|