Version Description
Download this release
Release Info
Developer | wahid0003 |
Plugin | CTX Feed – WooCommerce Product Feed Manager Plugin |
Version | 3.0.32 |
Comparing to | |
See all releases |
Code changes from version 3.0.31 to 3.0.32
- README.txt +4 -1
- admin/partials/templates/idealo_add-feed.php +49 -0
- includes/class-woo-feed.php +1 -1
- includes/classes/class-woo-feed-products.php +0 -55
- woo-feed.php +1 -89
README.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://webappick.com
|
|
4 |
Tags:woocommerce,google product feed,facebook product feed,woocommerce product feed,woocommerce,
|
5 |
Requires at least: 3.6
|
6 |
Tested Up To: 5.2
|
7 |
-
Stable tag: 3.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -303,6 +303,9 @@ Using pro version:
|
|
303 |
|
304 |
== Changelog ==
|
305 |
|
|
|
|
|
|
|
306 |
= 3.0.31(2019-05-13) =
|
307 |
* Added: billiger.de template added
|
308 |
|
4 |
Tags:woocommerce,google product feed,facebook product feed,woocommerce product feed,woocommerce,
|
5 |
Requires at least: 3.6
|
6 |
Tested Up To: 5.2
|
7 |
+
Stable tag: 3.0.32
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
303 |
|
304 |
== Changelog ==
|
305 |
|
306 |
+
= 3.0.32(2019-05-16) =
|
307 |
+
* Shipping Cost Comment attribute added for idealo template
|
308 |
+
|
309 |
= 3.0.31(2019-05-13) =
|
310 |
* Added: billiger.de template added
|
311 |
|
admin/partials/templates/idealo_add-feed.php
CHANGED
@@ -868,6 +868,55 @@
|
|
868 |
<i class="delRow dashicons dashicons-trash"></i>
|
869 |
</td>
|
870 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
871 |
</tbody>
|
872 |
<tfoot>
|
873 |
<tr>
|
868 |
<i class="delRow dashicons dashicons-trash"></i>
|
869 |
</td>
|
870 |
</tr>
|
871 |
+
<tr>
|
872 |
+
<td>
|
873 |
+
<i class="wf_sortedtable dashicons dashicons-menu"></i>
|
874 |
+
</td>
|
875 |
+
<td>
|
876 |
+
<input type="text" name="mattributes[]" autocomplete="off" required
|
877 |
+
class="wf_validate_attr wf_mattributes wf_mattr" value="Shipping cost comment" />
|
878 |
+
</td>
|
879 |
+
<td>
|
880 |
+
<input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
|
881 |
+
</td>
|
882 |
+
<td>
|
883 |
+
<select name="type[]" class="attr_type wfnoempty">
|
884 |
+
<option value="attribute"> <?php echo _e('Attribute', 'woo-feed'); ?></option>
|
885 |
+
<option selected value="pattern"> <?php echo _e('Pattern', 'woo-feed'); ?></option>
|
886 |
+
</select>
|
887 |
+
</td>
|
888 |
+
<td>
|
889 |
+
<select name="attributes[]" required="required" style=" display: none;"
|
890 |
+
class="wf_validate_attr wf_attr wf_attributes">
|
891 |
+
<?php echo $product->attributeDropdown(); ?>
|
892 |
+
</select>
|
893 |
+
<input type="text" value="" name="default[]" autocomplete="off" class="wf_default wf_attributes"
|
894 |
+
/>
|
895 |
+
</td>
|
896 |
+
<td>
|
897 |
+
<input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
|
898 |
+
</td>
|
899 |
+
<td>
|
900 |
+
<select name="output_type[][]" class="outputType wfnoempty">
|
901 |
+
<option value="1">Default</option>
|
902 |
+
<option value="2">Strip Tags</option>
|
903 |
+
<option value="3">UTF-8 Encode</option>
|
904 |
+
<option value="4">htmlentities</option>
|
905 |
+
<option value="5">Integer</option>
|
906 |
+
<option value="6">Price</option>
|
907 |
+
<option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
|
908 |
+
<option value="8">CDATA</option>
|
909 |
+
</select>
|
910 |
+
<i class="dashicons dashicons-editor-expand expandType"></i>
|
911 |
+
<i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
|
912 |
+
</td>
|
913 |
+
<td>
|
914 |
+
<input type="text" name="limit[]" class="wf_ps"/>
|
915 |
+
</td>
|
916 |
+
<td>
|
917 |
+
<i class="delRow dashicons dashicons-trash"></i>
|
918 |
+
</td>
|
919 |
+
</tr>
|
920 |
</tbody>
|
921 |
<tfoot>
|
922 |
<tr>
|
includes/class-woo-feed.php
CHANGED
@@ -70,7 +70,7 @@ class Woo_Feed
|
|
70 |
public function __construct()
|
71 |
{
|
72 |
$this->woo_feed = 'woo-feed';
|
73 |
-
$this->version = '3.0.
|
74 |
|
75 |
$this->load_dependencies();
|
76 |
$this->set_locale();
|
70 |
public function __construct()
|
71 |
{
|
72 |
$this->woo_feed = 'woo-feed';
|
73 |
+
$this->version = '3.0.32';
|
74 |
|
75 |
$this->load_dependencies();
|
76 |
$this->set_locale();
|
includes/classes/class-woo-feed-products.php
CHANGED
@@ -142,26 +142,10 @@ class Woo_Feed_Products
|
|
142 |
$query = new WC_Product_Query( $arg );
|
143 |
$products = $query->get_products();
|
144 |
|
145 |
-
// $upload_dir = wp_upload_dir();
|
146 |
-
// $error_log_path = $upload_dir['basedir'] . '/woo-feed/error_log.txt';
|
147 |
-
// $error_log_file = fopen($error_log_path, "a");
|
148 |
-
// $no_product_error_thrown = false;
|
149 |
-
|
150 |
-
// if(count($products) < 1)
|
151 |
-
// {
|
152 |
-
// fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [8] No products found.\n");
|
153 |
-
// $no_product_error_thrown = true;
|
154 |
-
// }
|
155 |
-
|
156 |
$this->pi = 1; # Product Index
|
157 |
foreach ( $products as $key => $productId ) {
|
158 |
$prod=wc_get_product($productId);
|
159 |
|
160 |
-
// if(!$prod && !is_object($prod)){
|
161 |
-
// fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [8] The product is not an object. Product ID: ". $productId ."\n");
|
162 |
-
// continue;
|
163 |
-
// }
|
164 |
-
|
165 |
$id = $prod->get_id();
|
166 |
|
167 |
if($getIDs){
|
@@ -179,11 +163,6 @@ class Woo_Feed_Products
|
|
179 |
|
180 |
$simple = new WC_Product_Simple( $id );
|
181 |
|
182 |
-
// if($simple->get_status()!="publish"){
|
183 |
-
// fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $simple->get_id() . "\n");
|
184 |
-
// continue;
|
185 |
-
// }
|
186 |
-
|
187 |
$this->productsList[ $this->pi ]["id"] = $simple->get_id();
|
188 |
$this->productsList[ $this->pi ]["title"] = $simple->get_name();
|
189 |
$this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($simple->get_description());
|
@@ -270,11 +249,6 @@ class Woo_Feed_Products
|
|
270 |
|
271 |
$external = new WC_Product_External( $id );
|
272 |
|
273 |
-
// if($external->get_status()!="publish"){
|
274 |
-
// fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $external->get_id() . "\n");
|
275 |
-
// continue;
|
276 |
-
// }
|
277 |
-
|
278 |
$this->productsList[ $this->pi ]["id"] = $external->get_id();
|
279 |
$this->productsList[ $this->pi ]["title"] = $external->get_name();
|
280 |
$this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($external->get_description());
|
@@ -360,11 +334,6 @@ class Woo_Feed_Products
|
|
360 |
|
361 |
$grouped = new WC_Product_Grouped( $id );
|
362 |
|
363 |
-
// if($grouped->get_status()!="publish"){
|
364 |
-
// fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $grouped->get_id() . "\n");
|
365 |
-
// continue;
|
366 |
-
// }
|
367 |
-
|
368 |
$this->productsList[ $this->pi ]["id"] = $grouped->get_id();
|
369 |
$this->productsList[ $this->pi ]["title"] = $grouped->get_name();
|
370 |
$this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($grouped->get_description());
|
@@ -449,12 +418,6 @@ class Woo_Feed_Products
|
|
449 |
|
450 |
$variable = new WC_Product_Variable( $id );
|
451 |
|
452 |
-
// if($variable->get_status()!="publish"){
|
453 |
-
// fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $variable->get_id() . "\n");
|
454 |
-
// continue;
|
455 |
-
// }
|
456 |
-
|
457 |
-
|
458 |
$this->productsList[ $this->pi ]["id"] = $variable->get_id();
|
459 |
$this->productsList[ $this->pi ]["title"] = $variable->get_name();
|
460 |
$this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($variable->get_description());
|
@@ -556,17 +519,6 @@ class Woo_Feed_Products
|
|
556 |
continue;
|
557 |
}
|
558 |
|
559 |
-
|
560 |
-
// if($parent->get_status()!= "publish")
|
561 |
-
// {
|
562 |
-
// fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $variation->get_id() . "\n");
|
563 |
-
// continue;
|
564 |
-
// }
|
565 |
-
|
566 |
-
$parentInfo=$variation->get_parent_data();
|
567 |
-
$variationTitle= $parentInfo['title'];
|
568 |
-
|
569 |
-
|
570 |
# Set Variation Description
|
571 |
$description=$variation->get_description();
|
572 |
if(empty($description)){
|
@@ -686,13 +638,6 @@ class Woo_Feed_Products
|
|
686 |
update_option("wf_check_duplicate",$this->idExist);
|
687 |
}
|
688 |
|
689 |
-
// if(!$no_product_error_thrown && ($this->productsList == "" || count($this->productsList) == 0))
|
690 |
-
// {
|
691 |
-
// fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [8] No products found.\n");
|
692 |
-
// }
|
693 |
-
//
|
694 |
-
// fclose($error_log_file);
|
695 |
-
|
696 |
return $this->productsList;
|
697 |
}
|
698 |
|
142 |
$query = new WC_Product_Query( $arg );
|
143 |
$products = $query->get_products();
|
144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
$this->pi = 1; # Product Index
|
146 |
foreach ( $products as $key => $productId ) {
|
147 |
$prod=wc_get_product($productId);
|
148 |
|
|
|
|
|
|
|
|
|
|
|
149 |
$id = $prod->get_id();
|
150 |
|
151 |
if($getIDs){
|
163 |
|
164 |
$simple = new WC_Product_Simple( $id );
|
165 |
|
|
|
|
|
|
|
|
|
|
|
166 |
$this->productsList[ $this->pi ]["id"] = $simple->get_id();
|
167 |
$this->productsList[ $this->pi ]["title"] = $simple->get_name();
|
168 |
$this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($simple->get_description());
|
249 |
|
250 |
$external = new WC_Product_External( $id );
|
251 |
|
|
|
|
|
|
|
|
|
|
|
252 |
$this->productsList[ $this->pi ]["id"] = $external->get_id();
|
253 |
$this->productsList[ $this->pi ]["title"] = $external->get_name();
|
254 |
$this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($external->get_description());
|
334 |
|
335 |
$grouped = new WC_Product_Grouped( $id );
|
336 |
|
|
|
|
|
|
|
|
|
|
|
337 |
$this->productsList[ $this->pi ]["id"] = $grouped->get_id();
|
338 |
$this->productsList[ $this->pi ]["title"] = $grouped->get_name();
|
339 |
$this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($grouped->get_description());
|
418 |
|
419 |
$variable = new WC_Product_Variable( $id );
|
420 |
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
$this->productsList[ $this->pi ]["id"] = $variable->get_id();
|
422 |
$this->productsList[ $this->pi ]["title"] = $variable->get_name();
|
423 |
$this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($variable->get_description());
|
519 |
continue;
|
520 |
}
|
521 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
522 |
# Set Variation Description
|
523 |
$description=$variation->get_description();
|
524 |
if(empty($description)){
|
638 |
update_option("wf_check_duplicate",$this->idExist);
|
639 |
}
|
640 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
641 |
return $this->productsList;
|
642 |
}
|
643 |
|
woo-feed.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* Plugin Name: WooCommerce Product Feed
|
17 |
* Plugin URI: https://webappick.com/
|
18 |
* Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
|
19 |
-
* Version: 3.0.
|
20 |
* Author: WebAppick
|
21 |
* Author URI: https://webappick.com/
|
22 |
* License: GPL v2
|
@@ -85,73 +85,6 @@ function run_woo_feed()
|
|
85 |
|
86 |
run_woo_feed();
|
87 |
|
88 |
-
//error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
|
89 |
-
//
|
90 |
-
//// error handler function
|
91 |
-
//function woo_feed_myErrorHandler($errno, $errstr, $errfile, $errline)
|
92 |
-
//{
|
93 |
-
// if (!(error_reporting() & $errno)) {
|
94 |
-
// // This error code is not included in error_reporting, so let it fall
|
95 |
-
// // through to the standard PHP error handler
|
96 |
-
// return false;
|
97 |
-
// }
|
98 |
-
//
|
99 |
-
// $upload_dir = wp_upload_dir();
|
100 |
-
// $woo_feed_path = $upload_dir['basedir'] . '/woo-feed';
|
101 |
-
//
|
102 |
-
// if(!file_exists($woo_feed_path))
|
103 |
-
// {
|
104 |
-
// mkdir($woo_feed_path, 0777);
|
105 |
-
// }
|
106 |
-
//
|
107 |
-
// $log_file_path = $woo_feed_path . '/error_log.txt';
|
108 |
-
//
|
109 |
-
// $log_file = fopen($log_file_path, "a");
|
110 |
-
//
|
111 |
-
// switch ($errno) {
|
112 |
-
// case E_ERROR:
|
113 |
-
// fwrite($log_file, "[". date("Y-m-d H:i:s", time()) ."] FATAL ERROR [$errno] $errstr in $errfile, line no: $errline, PHP " . PHP_VERSION . " (" . PHP_OS . ")\n");
|
114 |
-
// break;
|
115 |
-
//
|
116 |
-
// case E_WARNING:
|
117 |
-
// // echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
|
118 |
-
// fwrite($log_file, "[". date("Y-m-d H:i:s", time()) ."] WARNING [$errno] $errstr in $errfile, line no: $errline\n");
|
119 |
-
// break;
|
120 |
-
//
|
121 |
-
// case E_NOTICE:
|
122 |
-
// // echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
|
123 |
-
// fwrite($log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [$errno] $errstr in $errfile, line no: $errline\n");
|
124 |
-
// break;
|
125 |
-
//
|
126 |
-
// default:
|
127 |
-
// // echo "Unknown error type: [$errno] $errstr<br />\n";
|
128 |
-
// fwrite($log_file, "Unkown error [". date("Y-m-d H:i:s", time()) ."] type: [$errno] $errstr in $errfile, line no: $errline\n");
|
129 |
-
// break;
|
130 |
-
// }
|
131 |
-
//
|
132 |
-
// fclose($log_file);
|
133 |
-
// chmod($log_file_path, 0777);
|
134 |
-
// /* Don't execute PHP internal error handler */
|
135 |
-
// return true;
|
136 |
-
//}
|
137 |
-
//
|
138 |
-
//
|
139 |
-
//$error_debuggin_enabled = get_option('woo_feed_enable_error_debugging');
|
140 |
-
//function fatalErrorShutdownHandler()
|
141 |
-
//{
|
142 |
-
// $last_error = error_get_last();
|
143 |
-
// if ($last_error['type'] === E_ERROR) {
|
144 |
-
// // fatal error
|
145 |
-
// myErrorHandler(E_ERROR, $last_error['message'], $last_error['file'], $last_error['line']);
|
146 |
-
// }
|
147 |
-
//}
|
148 |
-
//
|
149 |
-
//if($error_debuggin_enabled == 'on')
|
150 |
-
//{
|
151 |
-
// set_error_handler("myErrorHandler");
|
152 |
-
// register_shutdown_function('fatalErrorShutdownHandler');
|
153 |
-
//}
|
154 |
-
|
155 |
# Custom Cron Recurrences
|
156 |
function custom_cron_job_custom_recurrence($schedules)
|
157 |
{
|
@@ -912,15 +845,6 @@ function woo_feed_config_feed(){
|
|
912 |
update_option("woo_feed_enable_error_debugging", "off");
|
913 |
}
|
914 |
}
|
915 |
-
// $upload_dir = wp_upload_dir();
|
916 |
-
// $error_debuggin_enabled = get_option('woo_feed_enable_error_debugging');
|
917 |
-
|
918 |
-
// $error_file_path = $upload_dir['basedir'] . '/woo-feed/error_log.txt';
|
919 |
-
// $errors = '';
|
920 |
-
// if($error_debuggin_enabled == 'on' && file_exists($error_file_path))
|
921 |
-
// {
|
922 |
-
// $errors = file_get_contents($error_file_path);
|
923 |
-
// }
|
924 |
|
925 |
require plugin_dir_path(__FILE__) . 'admin/partials/woo-feed-config.php';
|
926 |
}
|
@@ -1262,15 +1186,3 @@ function woo_feed_save_wpml_notice() {
|
|
1262 |
}
|
1263 |
|
1264 |
|
1265 |
-
|
1266 |
-
//$error_handler = set_error_handler("woo_feed_myErrorHandler");
|
1267 |
-
//register_shutdown_function('woo_feed_fatalErrorShutdownHandler');
|
1268 |
-
//function woo_feed_fatalErrorShutdownHandler()
|
1269 |
-
//{
|
1270 |
-
// $last_error = error_get_last();
|
1271 |
-
// if ($last_error['type'] === E_ERROR) {
|
1272 |
-
// // fatal error
|
1273 |
-
// woo_feed_myErrorHandler(E_ERROR,$last_error['message'],$last_error['file'],$last_error['line']);
|
1274 |
-
// }
|
1275 |
-
//}
|
1276 |
-
|
16 |
* Plugin Name: WooCommerce Product Feed
|
17 |
* Plugin URI: https://webappick.com/
|
18 |
* Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
|
19 |
+
* Version: 3.0.32
|
20 |
* Author: WebAppick
|
21 |
* Author URI: https://webappick.com/
|
22 |
* License: GPL v2
|
85 |
|
86 |
run_woo_feed();
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
# Custom Cron Recurrences
|
89 |
function custom_cron_job_custom_recurrence($schedules)
|
90 |
{
|
845 |
update_option("woo_feed_enable_error_debugging", "off");
|
846 |
}
|
847 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
848 |
|
849 |
require plugin_dir_path(__FILE__) . 'admin/partials/woo-feed-config.php';
|
850 |
}
|
1186 |
}
|
1187 |
|
1188 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|