Changeset 3437505
- Timestamp:
- 01/12/2026 09:24:47 AM (2 months ago)
- Location:
- best-woocommerce-feed
- Files:
-
- 14 edited
- 1 copied
-
tags/7.4.61 (copied) (copied from best-woocommerce-feed/trunk)
-
tags/7.4.61/README.txt (modified) (2 diffs)
-
tags/7.4.61/admin/class-rex-product-data-retriever.php (modified) (3 diffs)
-
tags/7.4.61/admin/class-rex-product-feed-handle-data.php (modified) (2 diffs)
-
tags/7.4.61/admin/feed/abstract-rex-product-feed-generator.php (modified) (1 diff)
-
tags/7.4.61/includes/library/GoogleShoppingFeed/Feed.php (modified) (1 diff)
-
tags/7.4.61/rex-product-feed.php (modified) (2 diffs)
-
tags/7.4.61/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/admin/class-rex-product-data-retriever.php (modified) (3 diffs)
-
trunk/admin/class-rex-product-feed-handle-data.php (modified) (2 diffs)
-
trunk/admin/feed/abstract-rex-product-feed-generator.php (modified) (1 diff)
-
trunk/includes/library/GoogleShoppingFeed/Feed.php (modified) (1 diff)
-
trunk/rex-product-feed.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
best-woocommerce-feed/tags/7.4.61/README.txt
r3430074 r3437505 7 7 Tested up to: 6.9 8 8 Requires PHP: 7.4 9 Stable tag: 7.4.6 09 Stable tag: 7.4.61 10 10 License: GPLv2 or later 11 11 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 517 517 = Product feed manager (Free) = 518 518 519 = 7.4.61 (2026-01-12) = 520 * Bug Fix: Broken product Cart, Checkout, Review, Product, and related URLs issue 521 * Bug Fix: Currency prefix/ suffix display issue 522 * Improvement: Enhanced OpenPanel integration to track feed settings 523 519 524 = 7.4.60 (2025-12-31) = 520 525 * Improvement: Google content API currency symbol 521 526 * Improvement: Variations not included in custom feed during scheduled updates 522 527 528 = 7.4.59 (2025-12-19) = 529 * New: Feed Validator for Facebook Catalog 530 * New: Feed Validator for Google Shipping 531 * Improvement: Increased Yandex YML "param" limit 532 * Improvement: Optimise schedule feed generation 533 534 = 7.4.58 (2025-12-11) = 535 * New: ChatGPT(OpenAI) feed template 536 * Improvement: TikTok Ads Catalog feed: <condition> param support 537 * Improvement: Yandex YML feed: <param name>, <param unit>, and <param value> support 538 * Improvement: Guided Tour for better onboarding 539 540 = 7.4.57 (2025-12-04) = 541 * Bug Fix: PFM information appears twice in the system status 542 * Bug Fix: PHP deprecation Issue on Node file 543 * Bug Fix: YITH WooCommerce Product Bundles not included in the feed 544 523 545 * [Visit to see what's new in free version](https://rextheme.com/changelog/?plugin=product-feed-manager-for-woocommerce) 524 546 -
best-woocommerce-feed/tags/7.4.61/admin/class-rex-product-data-retriever.php
r3430074 r3437505 3011 3011 $feed_currency = $this->get_feed_currency(); 3012 3012 3013 // List of price-related meta keys3014 $price_meta_keys = [3015 'price',3016 'current_price',3017 'sale_price',3018 'price_with_tax',3019 'current_price_with_tax',3020 'sale_price_with_tax',3021 'price_excl_tax',3022 'current_price_excl_tax',3023 'sale_price_excl_tax',3024 'price_db',3025 'current_price_db',3026 'sale_price_db',3027 ];3028 3029 // If the merchant is Google and the meta_key is price-related, do not add the currency suffix.3030 if ( 'google' === $this->feed->merchant && in_array( $rule['meta_key'], $price_meta_keys, true ) ) {3031 $suffix = '';3032 }3033 3034 3013 if ( !empty( $prefix ) ) { 3035 $val = $val ? $prefix . $val : ''; 3036 if(wpfm_is_curcy_active() && isset($this->curcy_currency)){ 3037 $val = $val ? $this->curcy_currency.' ' .$val : ''; 3038 } 3014 if(!empty($feed_currency)){ 3015 $val = $val ? $feed_currency.' ' .$val : ''; 3016 }else{ 3017 $val = $val ? $prefix . $val : ''; 3018 } 3039 3019 } 3040 3020 3041 3021 if ( !empty( $suffix ) ) { 3042 if( wpfm_is_curcy_active() && isset($this->curcy_currency)){3043 $val = $val ? $val .' '. $ this->curcy_currency : '';3022 if(!empty($feed_currency)){ 3023 $val = $val ? $val .' '. $feed_currency : ''; 3044 3024 }else{ 3045 3025 $val = $val ? $val . $suffix : ''; 3046 3026 } 3047 }3048 3049 if ( ! empty( $feed_currency ) && isset( $rule[ 'attr' ] ) && str_contains( $rule[ 'attr' ], 'price' ) ) {3050 if ( strpos( $val, $feed_currency ) === false ) {3051 $val = $val ? $val . ' ' . $feed_currency : '';3052 }3053 3027 } 3054 3028 … … 3377 3351 3378 3352 $value = $this->tab_replace( $value ); 3353 3379 3354 } 3380 3355 return $value; … … 3414 3389 return $this->wcml_currency; 3415 3390 } 3416 return get_woocommerce_currency();3391 return ''; 3417 3392 } 3418 3393 -
best-woocommerce-feed/tags/7.4.61/admin/class-rex-product-feed-handle-data.php
r3400153 r3437505 109 109 } 110 110 if( isset( $data[ 'rex_feed_products' ] ) ) { 111 112 // Map select values to human-readable feature names 113 $filter_names = array( 114 'all' => 'All Published Products Filter', 115 'featured' => 'All Featured Products Filter', 116 'product_cat' => 'Category Filter', 117 'product_tag' => 'Tag Filter', 118 'product_brand' => 'Brand Filter', 119 'product_filter' => 'Product Filter', 120 ); 121 122 $filter_value = $data[ 'rex_feed_products' ]; 123 $feature_name = isset( $filter_names[ $filter_value ] ) ? $filter_names[ $filter_value ] : $filter_value; 124 125 do_action( 'rex_product_feed_advanced_feature_used', $feed_id, [ 126 'feature' => $feature_name, 127 ] ); 128 111 129 update_post_meta( $feed_id, '_rex_feed_products', $data[ 'rex_feed_products' ] ); 112 130 } … … 479 497 } 480 498 499 // Send settings options data to OpenPanel via action hook. 500 $features = []; 501 $feature_map = [ 502 'rex_feed_schedule' => 'Schedule Feed: ' . $data['rex_feed_schedule'], 503 'rex_feed_include_out_of_stock' => 'Include Out of Stock Products', 504 'rex_feed_variable_product' => 'Variable Product', 505 'rex_feed_variations' => 'Include Variations', 506 'rex_feed_default_variation' => 'Include Default Variation', 507 'rex_feed_highest_variation' => 'Include Highest Variation', 508 'rex_feed_cheapest_variation' => 'Include Cheapest Variation', 509 'rex_feed_first_variation' => 'Include First Variation', 510 'rex_feed_last_variation' => 'Include Last Variation', 511 'rex_feed_parent_product' => 'Include Parent Product', 512 'rex_feed_variation_product_name' => 'Variation Product Name', 513 'rex_feed_hidden_products' => 'Include Hidden Products', 514 'rex_feed_exclude_simple_products' => 'Exclude Simple Products', 515 'rex_feed_skip_product' => 'Skip Product', 516 'rex_feed_skip_row' => 'Skip Row', 517 'rex_feed_include_zero_price_products' => 'Include Products with No Price', 518 'rex_feed_analytics_params_options' => 'Google Analytics Params: ', 519 'rex_feed_curcy_currency' => 'CURCY - Multi Currency', 520 'rex_feed_wmc_currency' => 'WooCommerce Multi-Currency', 521 'rex_feed_wcml_currency' => 'WooCommerce Multilingual', 522 'rex_feed_feed_country' => 'Feed Country', 523 'rex_feed_tax_id' => 'Tax ID', 524 'rex_feed_is_google_content_api' => 'Google Content API', 525 'rex_feed_translate_press_language' => 'TranslatePress Language', 526 ]; 527 528 foreach ( $feature_map as $key => $label ) { 529 if ( isset( $data[ $key ] ) && 'no' !== $data[ $key ] ) { 530 $features[] = $label; 531 } 532 } 533 534 foreach ( $features as $label ) { 535 do_action( 'rex_product_feed_advanced_feature_used', $feed_id, [ 536 'feature_setting' => $label, 537 ] ); 538 } 539 481 540 } 482 541 } -
best-woocommerce-feed/tags/7.4.61/admin/feed/abstract-rex-product-feed-generator.php
r3416948 r3437505 1561 1561 'google_shopping_actions', 'google_express', 'doofinder', 'emarts', 'epoq', 'google_local_products_inventory', 1562 1562 'google_merchant_promotion', 'google_manufacturer_center', 'bing_image', 'rss', 'criteo', 'adcrowd', 1563 'google_local_inventory_ads', 'compartner', 'bing', 'openai' 1563 'google_local_inventory_ads', 'compartner', 'bing', 'openai', 'google_css_center', 'temu_seller_center' 1564 1564 ]; 1565 1565 -
best-woocommerce-feed/tags/7.4.61/includes/library/GoogleShoppingFeed/Feed.php
r3416948 r3437505 369 369 if (ob_get_contents()) ob_end_clean(); 370 370 $this->addItemsToFeed(); 371 $data = html_entity_decode($this->feed->asXml());371 $data = $this->feed->asXml(); 372 372 if ($output) { 373 373 header('Content-Type: application/xml; charset=utf-8'); -
best-woocommerce-feed/tags/7.4.61/rex-product-feed.php
r3430074 r3437505 16 16 * Plugin URI: https://rextheme.com 17 17 * Description: Generate and maintain your WooCommerce product feed for Google Shopping, Social Catalogs, Yandex, Idealo, Vivino, Pinterest, eBay MIP, BestPrice, Skroutz, Fruugo, Bonanza & 200+ Merchants. 18 * Version: 7.4.6 018 * Version: 7.4.61 19 19 * Author: RexTheme 20 20 * Author URI: https://rextheme.com … … 41 41 } 42 42 if( !defined( 'WPFM_VERSION' ) ) { 43 define( 'WPFM_VERSION', '7.4.6 0' );43 define( 'WPFM_VERSION', '7.4.61' ); 44 44 } 45 45 if ( !defined( 'WPFM__FILE__' ) ) { -
best-woocommerce-feed/tags/7.4.61/vendor/composer/installed.php
r3430074 r3437505 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' a210fcace0e55b2fa9f9ee87b82830f162be06a9',6 'reference' => '2d8ebfc8d0621239bffdc25dc075ca04db809a88', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 43 43 'pretty_version' => 'dev-master', 44 44 'version' => 'dev-master', 45 'reference' => ' a210fcace0e55b2fa9f9ee87b82830f162be06a9',45 'reference' => '2d8ebfc8d0621239bffdc25dc075ca04db809a88', 46 46 'type' => 'wordpress-plugin', 47 47 'install_path' => __DIR__ . '/../../', -
best-woocommerce-feed/trunk/README.txt
r3430074 r3437505 7 7 Tested up to: 6.9 8 8 Requires PHP: 7.4 9 Stable tag: 7.4.6 09 Stable tag: 7.4.61 10 10 License: GPLv2 or later 11 11 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 517 517 = Product feed manager (Free) = 518 518 519 = 7.4.61 (2026-01-12) = 520 * Bug Fix: Broken product Cart, Checkout, Review, Product, and related URLs issue 521 * Bug Fix: Currency prefix/ suffix display issue 522 * Improvement: Enhanced OpenPanel integration to track feed settings 523 519 524 = 7.4.60 (2025-12-31) = 520 525 * Improvement: Google content API currency symbol 521 526 * Improvement: Variations not included in custom feed during scheduled updates 522 527 528 = 7.4.59 (2025-12-19) = 529 * New: Feed Validator for Facebook Catalog 530 * New: Feed Validator for Google Shipping 531 * Improvement: Increased Yandex YML "param" limit 532 * Improvement: Optimise schedule feed generation 533 534 = 7.4.58 (2025-12-11) = 535 * New: ChatGPT(OpenAI) feed template 536 * Improvement: TikTok Ads Catalog feed: <condition> param support 537 * Improvement: Yandex YML feed: <param name>, <param unit>, and <param value> support 538 * Improvement: Guided Tour for better onboarding 539 540 = 7.4.57 (2025-12-04) = 541 * Bug Fix: PFM information appears twice in the system status 542 * Bug Fix: PHP deprecation Issue on Node file 543 * Bug Fix: YITH WooCommerce Product Bundles not included in the feed 544 523 545 * [Visit to see what's new in free version](https://rextheme.com/changelog/?plugin=product-feed-manager-for-woocommerce) 524 546 -
best-woocommerce-feed/trunk/admin/class-rex-product-data-retriever.php
r3430074 r3437505 3011 3011 $feed_currency = $this->get_feed_currency(); 3012 3012 3013 // List of price-related meta keys3014 $price_meta_keys = [3015 'price',3016 'current_price',3017 'sale_price',3018 'price_with_tax',3019 'current_price_with_tax',3020 'sale_price_with_tax',3021 'price_excl_tax',3022 'current_price_excl_tax',3023 'sale_price_excl_tax',3024 'price_db',3025 'current_price_db',3026 'sale_price_db',3027 ];3028 3029 // If the merchant is Google and the meta_key is price-related, do not add the currency suffix.3030 if ( 'google' === $this->feed->merchant && in_array( $rule['meta_key'], $price_meta_keys, true ) ) {3031 $suffix = '';3032 }3033 3034 3013 if ( !empty( $prefix ) ) { 3035 $val = $val ? $prefix . $val : ''; 3036 if(wpfm_is_curcy_active() && isset($this->curcy_currency)){ 3037 $val = $val ? $this->curcy_currency.' ' .$val : ''; 3038 } 3014 if(!empty($feed_currency)){ 3015 $val = $val ? $feed_currency.' ' .$val : ''; 3016 }else{ 3017 $val = $val ? $prefix . $val : ''; 3018 } 3039 3019 } 3040 3020 3041 3021 if ( !empty( $suffix ) ) { 3042 if( wpfm_is_curcy_active() && isset($this->curcy_currency)){3043 $val = $val ? $val .' '. $ this->curcy_currency : '';3022 if(!empty($feed_currency)){ 3023 $val = $val ? $val .' '. $feed_currency : ''; 3044 3024 }else{ 3045 3025 $val = $val ? $val . $suffix : ''; 3046 3026 } 3047 }3048 3049 if ( ! empty( $feed_currency ) && isset( $rule[ 'attr' ] ) && str_contains( $rule[ 'attr' ], 'price' ) ) {3050 if ( strpos( $val, $feed_currency ) === false ) {3051 $val = $val ? $val . ' ' . $feed_currency : '';3052 }3053 3027 } 3054 3028 … … 3377 3351 3378 3352 $value = $this->tab_replace( $value ); 3353 3379 3354 } 3380 3355 return $value; … … 3414 3389 return $this->wcml_currency; 3415 3390 } 3416 return get_woocommerce_currency();3391 return ''; 3417 3392 } 3418 3393 -
best-woocommerce-feed/trunk/admin/class-rex-product-feed-handle-data.php
r3400153 r3437505 109 109 } 110 110 if( isset( $data[ 'rex_feed_products' ] ) ) { 111 112 // Map select values to human-readable feature names 113 $filter_names = array( 114 'all' => 'All Published Products Filter', 115 'featured' => 'All Featured Products Filter', 116 'product_cat' => 'Category Filter', 117 'product_tag' => 'Tag Filter', 118 'product_brand' => 'Brand Filter', 119 'product_filter' => 'Product Filter', 120 ); 121 122 $filter_value = $data[ 'rex_feed_products' ]; 123 $feature_name = isset( $filter_names[ $filter_value ] ) ? $filter_names[ $filter_value ] : $filter_value; 124 125 do_action( 'rex_product_feed_advanced_feature_used', $feed_id, [ 126 'feature' => $feature_name, 127 ] ); 128 111 129 update_post_meta( $feed_id, '_rex_feed_products', $data[ 'rex_feed_products' ] ); 112 130 } … … 479 497 } 480 498 499 // Send settings options data to OpenPanel via action hook. 500 $features = []; 501 $feature_map = [ 502 'rex_feed_schedule' => 'Schedule Feed: ' . $data['rex_feed_schedule'], 503 'rex_feed_include_out_of_stock' => 'Include Out of Stock Products', 504 'rex_feed_variable_product' => 'Variable Product', 505 'rex_feed_variations' => 'Include Variations', 506 'rex_feed_default_variation' => 'Include Default Variation', 507 'rex_feed_highest_variation' => 'Include Highest Variation', 508 'rex_feed_cheapest_variation' => 'Include Cheapest Variation', 509 'rex_feed_first_variation' => 'Include First Variation', 510 'rex_feed_last_variation' => 'Include Last Variation', 511 'rex_feed_parent_product' => 'Include Parent Product', 512 'rex_feed_variation_product_name' => 'Variation Product Name', 513 'rex_feed_hidden_products' => 'Include Hidden Products', 514 'rex_feed_exclude_simple_products' => 'Exclude Simple Products', 515 'rex_feed_skip_product' => 'Skip Product', 516 'rex_feed_skip_row' => 'Skip Row', 517 'rex_feed_include_zero_price_products' => 'Include Products with No Price', 518 'rex_feed_analytics_params_options' => 'Google Analytics Params: ', 519 'rex_feed_curcy_currency' => 'CURCY - Multi Currency', 520 'rex_feed_wmc_currency' => 'WooCommerce Multi-Currency', 521 'rex_feed_wcml_currency' => 'WooCommerce Multilingual', 522 'rex_feed_feed_country' => 'Feed Country', 523 'rex_feed_tax_id' => 'Tax ID', 524 'rex_feed_is_google_content_api' => 'Google Content API', 525 'rex_feed_translate_press_language' => 'TranslatePress Language', 526 ]; 527 528 foreach ( $feature_map as $key => $label ) { 529 if ( isset( $data[ $key ] ) && 'no' !== $data[ $key ] ) { 530 $features[] = $label; 531 } 532 } 533 534 foreach ( $features as $label ) { 535 do_action( 'rex_product_feed_advanced_feature_used', $feed_id, [ 536 'feature_setting' => $label, 537 ] ); 538 } 539 481 540 } 482 541 } -
best-woocommerce-feed/trunk/admin/feed/abstract-rex-product-feed-generator.php
r3416948 r3437505 1561 1561 'google_shopping_actions', 'google_express', 'doofinder', 'emarts', 'epoq', 'google_local_products_inventory', 1562 1562 'google_merchant_promotion', 'google_manufacturer_center', 'bing_image', 'rss', 'criteo', 'adcrowd', 1563 'google_local_inventory_ads', 'compartner', 'bing', 'openai' 1563 'google_local_inventory_ads', 'compartner', 'bing', 'openai', 'google_css_center', 'temu_seller_center' 1564 1564 ]; 1565 1565 -
best-woocommerce-feed/trunk/includes/library/GoogleShoppingFeed/Feed.php
r3416948 r3437505 369 369 if (ob_get_contents()) ob_end_clean(); 370 370 $this->addItemsToFeed(); 371 $data = html_entity_decode($this->feed->asXml());371 $data = $this->feed->asXml(); 372 372 if ($output) { 373 373 header('Content-Type: application/xml; charset=utf-8'); -
best-woocommerce-feed/trunk/rex-product-feed.php
r3430074 r3437505 16 16 * Plugin URI: https://rextheme.com 17 17 * Description: Generate and maintain your WooCommerce product feed for Google Shopping, Social Catalogs, Yandex, Idealo, Vivino, Pinterest, eBay MIP, BestPrice, Skroutz, Fruugo, Bonanza & 200+ Merchants. 18 * Version: 7.4.6 018 * Version: 7.4.61 19 19 * Author: RexTheme 20 20 * Author URI: https://rextheme.com … … 41 41 } 42 42 if( !defined( 'WPFM_VERSION' ) ) { 43 define( 'WPFM_VERSION', '7.4.6 0' );43 define( 'WPFM_VERSION', '7.4.61' ); 44 44 } 45 45 if ( !defined( 'WPFM__FILE__' ) ) { -
best-woocommerce-feed/trunk/vendor/composer/installed.php
r3430074 r3437505 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' a210fcace0e55b2fa9f9ee87b82830f162be06a9',6 'reference' => '2d8ebfc8d0621239bffdc25dc075ca04db809a88', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 43 43 'pretty_version' => 'dev-master', 44 44 'version' => 'dev-master', 45 'reference' => ' a210fcace0e55b2fa9f9ee87b82830f162be06a9',45 'reference' => '2d8ebfc8d0621239bffdc25dc075ca04db809a88', 46 46 'type' => 'wordpress-plugin', 47 47 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.