Version Description
- 2022-05-18 =
- Fix - Non-latin custom product attribute names sync.
- Fix - Syncing brand FB attribute instead of the website name.
- Fix - Trigger InitiateCheckout event when site uses checkout block.
- Fix - Wrong sale price start date getting synced to FB Catalog.
- Fix - Allow products with "shop only" WooCommerce catalog visibility to sync to FB.
- Fix - Remove semicolon from custom attribute value.
- Tweak - Update the _experimental_woocommerce_blocks_checkoutupdate_order_meta action.
- Tweak - WooCommerce 6.5 compatibility.
- Tweak - WordPress 6.0 compatibility.
Download this release
Release Info
Developer | automattic |
Plugin | Facebook for WooCommerce |
Version | 2.6.14 |
Comparing to | |
See all releases |
Code changes from version 2.6.13 to 2.6.14
- changelog.txt +21 -10
- facebook-commerce-events-tracker.php +26 -8
- facebook-for-woocommerce.php +4 -4
- i18n/languages/facebook-for-woocommerce.pot +5 -3
- includes/ProductSync/ProductValidator.php +2 -2
- includes/Products/Sync/Background.php +2 -1
- includes/fbproduct.php +16 -8
- readme.txt +22 -11
- vendor/autoload.php +1 -1
- vendor/composer/ClassLoader.php +1 -1
- vendor/composer/InstalledVersions.php +0 -13
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +4 -4
- vendor/composer/installed.php +6 -6
changelog.txt
CHANGED
@@ -1,15 +1,26 @@
|
|
1 |
*** Facebook for WooCommerce Changelog ***
|
2 |
|
3 |
-
|
4 |
-
* Fix -
|
5 |
-
* Fix -
|
6 |
-
* Fix -
|
7 |
-
* Fix -
|
8 |
-
* Fix -
|
9 |
-
* Fix -
|
10 |
-
* Tweak -
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
* Add - Filter to change Facebook Retailer ID, wc_facebook_fb_retailer_id.
|
14 |
|
15 |
2022-02-28 - version 2.6.11
|
1 |
*** Facebook for WooCommerce Changelog ***
|
2 |
|
3 |
+
2022-05-18 - version 2.6.14
|
4 |
+
* Fix - Non-latin custom product attribute names sync.
|
5 |
+
* Fix - Syncing brand FB attribute instead of the website name.
|
6 |
+
* Fix - Trigger InitiateCheckout event when site uses checkout block.
|
7 |
+
* Fix - Wrong sale price start date getting synced to FB Catalog.
|
8 |
+
* Fix - Allow products with "shop only" WooCommerce catalog visibility to sync to FB.
|
9 |
+
* Fix - Remove semicolon from custom attribute value.
|
10 |
+
* Tweak - Update the __experimental_woocommerce_blocks_checkout_update_order_meta action.
|
11 |
+
* Tweak - WooCommerce 6.5 compatibility.
|
12 |
+
* Tweak - WordPress 6.0 compatibility.
|
13 |
+
|
14 |
+
2022-04-26 - version 2.6.13
|
15 |
+
* Fix - Issue with Facebook not displayed in the new WC navigation.
|
16 |
+
* Fix - Issue with variable products syncing to FB product sets.
|
17 |
+
* Fix - Scheduled job logs written to options table are never removed if job does not complete.
|
18 |
+
* Fix - User-Agent to contain English extension name.
|
19 |
+
* Fix - clear out wc_facebook_external_business_id option on disconnect.
|
20 |
+
* Fix - fix product title length check to account for encoding.
|
21 |
+
* Tweak - Use `Automattic\WooCommerce\Admin\Features\Features::is_enabled` instead of the deprecated `WooCommerce\Admin\Loader::is_feature_enabled`.
|
22 |
+
|
23 |
+
2022-03-08 - version 2.6.12
|
24 |
* Add - Filter to change Facebook Retailer ID, wc_facebook_fb_retailer_id.
|
25 |
|
26 |
2022-02-28 - version 2.6.11
|
facebook-commerce-events-tracker.php
CHANGED
@@ -126,12 +126,21 @@ if ( ! class_exists( 'WC_Facebookcommerce_EventsTracker' ) ) :
|
|
126 |
|
127 |
// InitiateCheckout events
|
128 |
add_action( 'woocommerce_after_checkout_form', array( $this, 'inject_initiate_checkout_event' ) );
|
|
|
|
|
129 |
// Purchase and Subscribe events
|
130 |
add_action( 'woocommerce_checkout_update_order_meta', array( $this, 'inject_purchase_event' ) );
|
131 |
add_action( 'woocommerce_thankyou', array( $this, 'inject_purchase_event' ), 40 );
|
132 |
|
133 |
// Checkout update order meta from the Checkout Block.
|
134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
|
136 |
// TODO move this in some 3rd party plugin integrations handler at some point {FN 2020-03-20}
|
137 |
add_action( 'wpcf7_contact_form', array( $this, 'inject_lead_event_hook' ), 11 );
|
@@ -511,7 +520,7 @@ if ( ! class_exists( 'WC_Facebookcommerce_EventsTracker' ) ) :
|
|
511 |
} else {
|
512 |
$content_type = 'product';
|
513 |
}
|
514 |
-
|
515 |
if ( WC_Facebookcommerce_Utils::is_variable_type( $product->get_type() ) ) {
|
516 |
$product_price = $product->get_variation_price( 'min' );
|
517 |
} else {
|
@@ -900,7 +909,7 @@ if ( ! class_exists( 'WC_Facebookcommerce_EventsTracker' ) ) :
|
|
900 |
foreach ( $order->get_items() as $item ) {
|
901 |
|
902 |
$product = $item->get_product();
|
903 |
-
|
904 |
if ( $product ) {
|
905 |
$product_ids[] = \WC_Facebookcommerce_Utils::get_fb_content_ids( $product );
|
906 |
$product_names[] = $product->get_name();
|
@@ -950,14 +959,17 @@ if ( ! class_exists( 'WC_Facebookcommerce_EventsTracker' ) ) :
|
|
950 |
/**
|
951 |
* Inject order meta gor WooCommerce Checkout Blocks flow.
|
952 |
* The blocks flow does not trigger the woocommerce_checkout_update_order_meta so we can't rely on it.
|
953 |
-
* The Checkout Block has its own
|
954 |
-
* the appropriate moment:
|
|
|
|
|
|
|
955 |
*
|
956 |
* @since 2.6.6
|
957 |
*
|
958 |
-
* @param WC_Order $
|
959 |
*/
|
960 |
-
public function inject_order_meta_event_for_checkout_block_flow( $
|
961 |
|
962 |
$event_name = 'Purchase';
|
963 |
|
@@ -965,6 +977,12 @@ if ( ! class_exists( 'WC_Facebookcommerce_EventsTracker' ) ) :
|
|
965 |
return;
|
966 |
}
|
967 |
|
|
|
|
|
|
|
|
|
|
|
|
|
968 |
$order_placed_meta = '_wc_' . facebook_for_woocommerce()->get_id() . '_order_placed';
|
969 |
$order->update_meta_data( $order_placed_meta, 'yes' );
|
970 |
$order->save_meta_data();
|
@@ -1050,7 +1068,7 @@ if ( ! class_exists( 'WC_Facebookcommerce_EventsTracker' ) ) :
|
|
1050 |
} catch ( Framework\SV_WC_API_Exception $exception ) {
|
1051 |
|
1052 |
$success = false;
|
1053 |
-
|
1054 |
facebook_for_woocommerce()->log( 'Could not send Pixel event: ' . $exception->getMessage() );
|
1055 |
}
|
1056 |
|
126 |
|
127 |
// InitiateCheckout events
|
128 |
add_action( 'woocommerce_after_checkout_form', array( $this, 'inject_initiate_checkout_event' ) );
|
129 |
+
// InitiateCheckout events for checkout block.
|
130 |
+
add_action( 'woocommerce_blocks_checkout_enqueue_data', array( $this, 'inject_initiate_checkout_event' ) );
|
131 |
// Purchase and Subscribe events
|
132 |
add_action( 'woocommerce_checkout_update_order_meta', array( $this, 'inject_purchase_event' ) );
|
133 |
add_action( 'woocommerce_thankyou', array( $this, 'inject_purchase_event' ), 40 );
|
134 |
|
135 |
// Checkout update order meta from the Checkout Block.
|
136 |
+
if ( version_compare( \Automattic\WooCommerce\Blocks\Package::get_version(), '7.2.0', '>=' ) ) {
|
137 |
+
add_action( 'woocommerce_store_api_checkout_update_order_meta', array( $this, 'inject_order_meta_event_for_checkout_block_flow' ), 10, 1 );
|
138 |
+
} elseif ( version_compare( \Automattic\WooCommerce\Blocks\Package::get_version(), '6.3.0', '>=' ) ) {
|
139 |
+
add_action( 'woocommerce_blocks_checkout_update_order_meta', array( $this, 'inject_order_meta_event_for_checkout_block_flow' ), 10, 1 );
|
140 |
+
} else {
|
141 |
+
add_action( '__experimental_woocommerce_blocks_checkout_update_order_meta', array( $this, 'inject_order_meta_event_for_checkout_block_flow' ), 10, 1 );
|
142 |
+
}
|
143 |
+
|
144 |
|
145 |
// TODO move this in some 3rd party plugin integrations handler at some point {FN 2020-03-20}
|
146 |
add_action( 'wpcf7_contact_form', array( $this, 'inject_lead_event_hook' ), 11 );
|
520 |
} else {
|
521 |
$content_type = 'product';
|
522 |
}
|
523 |
+
|
524 |
if ( WC_Facebookcommerce_Utils::is_variable_type( $product->get_type() ) ) {
|
525 |
$product_price = $product->get_variation_price( 'min' );
|
526 |
} else {
|
909 |
foreach ( $order->get_items() as $item ) {
|
910 |
|
911 |
$product = $item->get_product();
|
912 |
+
|
913 |
if ( $product ) {
|
914 |
$product_ids[] = \WC_Facebookcommerce_Utils::get_fb_content_ids( $product );
|
915 |
$product_names[] = $product->get_name();
|
959 |
/**
|
960 |
* Inject order meta gor WooCommerce Checkout Blocks flow.
|
961 |
* The blocks flow does not trigger the woocommerce_checkout_update_order_meta so we can't rely on it.
|
962 |
+
* The Checkout Block has its own hook that allows us to inject the meta at
|
963 |
+
* the appropriate moment: woocommerce_store_api_checkout_update_order_meta.
|
964 |
+
*
|
965 |
+
* Note: __experimental_woocommerce_blocks_checkout_update_order_meta has been deprecated
|
966 |
+
* as of WooCommerce Blocks 6.3.0
|
967 |
*
|
968 |
* @since 2.6.6
|
969 |
*
|
970 |
+
* @param WC_Order|int $the_order Order object or id.
|
971 |
*/
|
972 |
+
public function inject_order_meta_event_for_checkout_block_flow( $the_order ) {
|
973 |
|
974 |
$event_name = 'Purchase';
|
975 |
|
977 |
return;
|
978 |
}
|
979 |
|
980 |
+
$order = wc_get_order($the_order);
|
981 |
+
|
982 |
+
if ( ! $order ) {
|
983 |
+
return;
|
984 |
+
}
|
985 |
+
|
986 |
$order_placed_meta = '_wc_' . facebook_for_woocommerce()->get_id() . '_order_placed';
|
987 |
$order->update_meta_data( $order_placed_meta, 'yes' );
|
988 |
$order->save_meta_data();
|
1068 |
} catch ( Framework\SV_WC_API_Exception $exception ) {
|
1069 |
|
1070 |
$success = false;
|
1071 |
+
|
1072 |
facebook_for_woocommerce()->log( 'Could not send Pixel event: ' . $exception->getMessage() );
|
1073 |
}
|
1074 |
|
facebook-for-woocommerce.php
CHANGED
@@ -11,11 +11,11 @@
|
|
11 |
* Description: Grow your business on Facebook! Use this official plugin to help sell more of your products using Facebook. After completing the setup, you'll be ready to create ads that promote your products and you can also create a shop section on your Page where customers can browse your products on Facebook.
|
12 |
* Author: Facebook
|
13 |
* Author URI: https://www.facebook.com/
|
14 |
-
* Version: 2.6.
|
15 |
* Text Domain: facebook-for-woocommerce
|
16 |
-
* Tested up to:
|
17 |
* WC requires at least: 3.5.0
|
18 |
-
* WC tested up to: 6.
|
19 |
* Requires PHP: 7.0
|
20 |
*
|
21 |
* @package FacebookCommerce
|
@@ -33,7 +33,7 @@ class WC_Facebook_Loader {
|
|
33 |
/**
|
34 |
* @var string the plugin version. This must be in the main plugin file to be automatically bumped by Woorelease.
|
35 |
*/
|
36 |
-
const PLUGIN_VERSION = '2.6.
|
37 |
|
38 |
// Minimum PHP version required by this plugin.
|
39 |
const MINIMUM_PHP_VERSION = '7.0.0';
|
11 |
* Description: Grow your business on Facebook! Use this official plugin to help sell more of your products using Facebook. After completing the setup, you'll be ready to create ads that promote your products and you can also create a shop section on your Page where customers can browse your products on Facebook.
|
12 |
* Author: Facebook
|
13 |
* Author URI: https://www.facebook.com/
|
14 |
+
* Version: 2.6.14
|
15 |
* Text Domain: facebook-for-woocommerce
|
16 |
+
* Tested up to: 6.0
|
17 |
* WC requires at least: 3.5.0
|
18 |
+
* WC tested up to: 6.5
|
19 |
* Requires PHP: 7.0
|
20 |
*
|
21 |
* @package FacebookCommerce
|
33 |
/**
|
34 |
* @var string the plugin version. This must be in the main plugin file to be automatically bumped by Woorelease.
|
35 |
*/
|
36 |
+
const PLUGIN_VERSION = '2.6.14'; // WRCS: DEFINED_VERSION.
|
37 |
|
38 |
// Minimum PHP version required by this plugin.
|
39 |
const MINIMUM_PHP_VERSION = '7.0.0';
|
i18n/languages/facebook-for-woocommerce.pot
CHANGED
@@ -2,10 +2,10 @@
|
|
2 |
# This file is distributed under the same license as the Facebook for WooCommerce package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Facebook for WooCommerce 2.6.
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://woocommerce.com/my-account/marketplace-ticket-form/\n"
|
8 |
-
"POT-Creation-Date: 2022-
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -1015,7 +1015,9 @@ msgid "Product must be in stock."
|
|
1015 |
msgstr ""
|
1016 |
|
1017 |
#: includes/ProductSync/ProductValidator.php:234
|
1018 |
-
msgid "
|
|
|
|
|
1019 |
msgstr ""
|
1020 |
|
1021 |
#: includes/ProductSync/ProductValidator.php:249
|
2 |
# This file is distributed under the same license as the Facebook for WooCommerce package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Facebook for WooCommerce 2.6.14\n"
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://woocommerce.com/my-account/marketplace-ticket-form/\n"
|
8 |
+
"POT-Creation-Date: 2022-05-18 10:03:34+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
#: includes/ProductSync/ProductValidator.php:234
|
1018 |
+
msgid ""
|
1019 |
+
"This product cannot be synced to Facebook because it is hidden from your "
|
1020 |
+
"store catalog."
|
1021 |
msgstr ""
|
1022 |
|
1023 |
#: includes/ProductSync/ProductValidator.php:249
|
includes/ProductSync/ProductValidator.php
CHANGED
@@ -230,8 +230,8 @@ class ProductValidator {
|
|
230 |
protected function validate_product_visibility() {
|
231 |
$product = $this->product_parent ? $this->product_parent : $this->product;
|
232 |
|
233 |
-
if (
|
234 |
-
throw new ProductExcludedException( __( '
|
235 |
}
|
236 |
}
|
237 |
|
230 |
protected function validate_product_visibility() {
|
231 |
$product = $this->product_parent ? $this->product_parent : $this->product;
|
232 |
|
233 |
+
if ( ! $product->is_visible() ) {
|
234 |
+
throw new ProductExcludedException( __( 'This product cannot be synced to Facebook because it is hidden from your store catalog.', 'facebook-for-woocommerce' ) );
|
235 |
}
|
236 |
}
|
237 |
|
includes/Products/Sync/Background.php
CHANGED
@@ -317,7 +317,8 @@ class Background extends Framework\SV_WP_Background_Job_Handler {
|
|
317 |
apply_filters( 'facebook_for_woocommerce_variant_attribute_comma_replacement', ' ', $val ),
|
318 |
$val
|
319 |
);
|
320 |
-
|
|
|
321 |
}
|
322 |
|
323 |
$data['additional_variant_attribute'] = implode( ',', $attributes );
|
317 |
apply_filters( 'facebook_for_woocommerce_variant_attribute_comma_replacement', ' ', $val ),
|
318 |
$val
|
319 |
);
|
320 |
+
/** Force replacing , and : characters if those were not cleaned up by filters */
|
321 |
+
$attributes[] = $key . ':' . str_replace( array( ',', ':' ), ' ', $attribute_value );
|
322 |
}
|
323 |
|
324 |
$data['additional_variant_attribute'] = implode( ',', $attributes );
|
includes/fbproduct.php
CHANGED
@@ -376,13 +376,13 @@ if ( ! class_exists( 'WC_Facebook_Product' ) ) :
|
|
376 |
intval( round( $this->get_price_plus_tax( $sale_price ) * 100 ) );
|
377 |
|
378 |
$sale_start =
|
379 |
-
( $date =
|
380 |
-
? date_i18n(
|
381 |
: self::MIN_DATE_1 . self::MIN_TIME;
|
382 |
|
383 |
$sale_end =
|
384 |
-
( $date =
|
385 |
-
? date_i18n(
|
386 |
: self::MAX_DATE . self::MAX_TIME;
|
387 |
|
388 |
// check if sale is expired and sale time range is valid
|
@@ -564,8 +564,17 @@ if ( ! class_exists( 'WC_Facebook_Product' ) ) :
|
|
564 |
$categories =
|
565 |
WC_Facebookcommerce_Utils::get_product_categories( $id );
|
566 |
|
567 |
-
|
568 |
-
$brand =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
569 |
|
570 |
if ( self::PRODUCT_PREP_TYPE_ITEMS_BATCH === $type_to_prepare_for ) {
|
571 |
$product_data = array(
|
@@ -814,9 +823,8 @@ if ( ! class_exists( 'WC_Facebook_Product' ) ) :
|
|
814 |
if ( ! isset( $product_data['custom_data'] ) ) {
|
815 |
$product_data['custom_data'] = array();
|
816 |
}
|
817 |
-
|
818 |
$product_data['custom_data'][ $new_name ] = urldecode( $option_values[0] );
|
819 |
-
|
820 |
break;
|
821 |
}//end switch
|
822 |
} else {
|
376 |
intval( round( $this->get_price_plus_tax( $sale_price ) * 100 ) );
|
377 |
|
378 |
$sale_start =
|
379 |
+
( $date = $this->woo_product->get_date_on_sale_from() )
|
380 |
+
? date_i18n( WC_DateTime::ATOM, $date->getOffsetTimestamp() )
|
381 |
: self::MIN_DATE_1 . self::MIN_TIME;
|
382 |
|
383 |
$sale_end =
|
384 |
+
( $date = $this->woo_product->get_date_on_sale_to() )
|
385 |
+
? date_i18n( WC_DateTime::ATOM, $date->getOffsetTimestamp() )
|
386 |
: self::MAX_DATE . self::MAX_TIME;
|
387 |
|
388 |
// check if sale is expired and sale time range is valid
|
564 |
$categories =
|
565 |
WC_Facebookcommerce_Utils::get_product_categories( $id );
|
566 |
|
567 |
+
// Get brand attribute.
|
568 |
+
$brand = get_post_meta( $id, Products::ENHANCED_CATALOG_ATTRIBUTES_META_KEY_PREFIX . 'brand', true );
|
569 |
+
$brand_taxonomy = get_the_term_list( $id, 'product_brand', '', ', ' );
|
570 |
+
|
571 |
+
if ( $brand ) {
|
572 |
+
$brand = WC_Facebookcommerce_Utils::clean_string( $brand );
|
573 |
+
} elseif ( !is_wp_error( $brand_taxonomy ) && $brand_taxonomy ) {
|
574 |
+
$brand = WC_Facebookcommerce_Utils::clean_string( $brand_taxonomy );
|
575 |
+
} else {
|
576 |
+
$brand = wp_strip_all_tags( WC_Facebookcommerce_Utils::get_store_name() );
|
577 |
+
}
|
578 |
|
579 |
if ( self::PRODUCT_PREP_TYPE_ITEMS_BATCH === $type_to_prepare_for ) {
|
580 |
$product_data = array(
|
823 |
if ( ! isset( $product_data['custom_data'] ) ) {
|
824 |
$product_data['custom_data'] = array();
|
825 |
}
|
826 |
+
$new_name = wc_attribute_label( $new_name, $product );
|
827 |
$product_data['custom_data'][ $new_name ] = urldecode( $option_values[0] );
|
|
|
828 |
break;
|
829 |
}//end switch
|
830 |
} else {
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: facebook, automattic, woothemes
|
|
3 |
Tags: facebook, shop, catalog, advertise, pixel, product
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 5.9
|
6 |
-
Stable tag: 2.6.
|
7 |
Requires PHP: 5.6 or greater
|
8 |
MySQL: 5.6 or greater
|
9 |
License: GPLv2 or later
|
@@ -39,16 +39,27 @@ When opening a bug on GitHub, please give us as many details as possible.
|
|
39 |
|
40 |
== Changelog ==
|
41 |
|
42 |
-
= 2.6.
|
43 |
-
* Fix -
|
44 |
-
* Fix -
|
45 |
-
* Fix -
|
46 |
-
* Fix -
|
47 |
-
* Fix -
|
48 |
-
* Fix -
|
49 |
-
* Tweak -
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
* Add - Filter to change Facebook Retailer ID, wc_facebook_fb_retailer_id.
|
53 |
|
54 |
= 2.6.11 - 2022-02-28 =
|
3 |
Tags: facebook, shop, catalog, advertise, pixel, product
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 5.9
|
6 |
+
Stable tag: 2.6.14
|
7 |
Requires PHP: 5.6 or greater
|
8 |
MySQL: 5.6 or greater
|
9 |
License: GPLv2 or later
|
39 |
|
40 |
== Changelog ==
|
41 |
|
42 |
+
= 2.6.14 - 2022-05-18 =
|
43 |
+
* Fix - Non-latin custom product attribute names sync.
|
44 |
+
* Fix - Syncing brand FB attribute instead of the website name.
|
45 |
+
* Fix - Trigger InitiateCheckout event when site uses checkout block.
|
46 |
+
* Fix - Wrong sale price start date getting synced to FB Catalog.
|
47 |
+
* Fix - Allow products with "shop only" WooCommerce catalog visibility to sync to FB.
|
48 |
+
* Fix - Remove semicolon from custom attribute value.
|
49 |
+
* Tweak - Update the __experimental_woocommerce_blocks_checkout_update_order_meta action.
|
50 |
+
* Tweak - WooCommerce 6.5 compatibility.
|
51 |
+
* Tweak - WordPress 6.0 compatibility.
|
52 |
+
|
53 |
+
= 2.6.13 - 2022-04-26 =
|
54 |
+
* Fix - Issue with Facebook not displayed in the new WC navigation.
|
55 |
+
* Fix - Issue with variable products syncing to FB product sets.
|
56 |
+
* Fix - Scheduled job logs written to options table are never removed if job does not complete.
|
57 |
+
* Fix - User-Agent to contain English extension name.
|
58 |
+
* Fix - clear out wc_facebook_external_business_id option on disconnect.
|
59 |
+
* Fix - fix product title length check to account for encoding.
|
60 |
+
* Tweak - Use `Automattic\WooCommerce\Admin\Features\Features::is_enabled` instead of the deprecated `WooCommerce\Admin\Loader::is_feature_enabled`.
|
61 |
+
|
62 |
+
= 2.6.12 - 2022-03-08 =
|
63 |
* Add - Filter to change Facebook Retailer ID, wc_facebook_fb_retailer_id.
|
64 |
|
65 |
= 2.6.11 - 2022-02-28 =
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitc9664324ae539b90345f70ed310cb589::getLoader();
|
vendor/composer/ClassLoader.php
CHANGED
@@ -149,7 +149,7 @@ class ClassLoader
|
|
149 |
|
150 |
/**
|
151 |
* @return string[] Array of classname => path
|
152 |
-
* @psalm-
|
153 |
*/
|
154 |
public function getClassMap()
|
155 |
{
|
149 |
|
150 |
/**
|
151 |
* @return string[] Array of classname => path
|
152 |
+
* @psalm-var array<string, string>
|
153 |
*/
|
154 |
public function getClassMap()
|
155 |
{
|
vendor/composer/InstalledVersions.php
CHANGED
@@ -24,21 +24,8 @@ use Composer\Semver\VersionParser;
|
|
24 |
*/
|
25 |
class InstalledVersions
|
26 |
{
|
27 |
-
/**
|
28 |
-
* @var mixed[]|null
|
29 |
-
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
|
30 |
-
*/
|
31 |
private static $installed;
|
32 |
-
|
33 |
-
/**
|
34 |
-
* @var bool|null
|
35 |
-
*/
|
36 |
private static $canGetVendors;
|
37 |
-
|
38 |
-
/**
|
39 |
-
* @var array[]
|
40 |
-
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
41 |
-
*/
|
42 |
private static $installedByVendor = array();
|
43 |
|
44 |
/**
|
24 |
*/
|
25 |
class InstalledVersions
|
26 |
{
|
|
|
|
|
|
|
|
|
27 |
private static $installed;
|
|
|
|
|
|
|
|
|
28 |
private static $canGetVendors;
|
|
|
|
|
|
|
|
|
|
|
29 |
private static $installedByVendor = array();
|
30 |
|
31 |
/**
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -24,15 +24,15 @@ class ComposerAutoloaderInita2b43888cea4bd45e93809d03e360862
|
|
24 |
|
25 |
require __DIR__ . '/platform_check.php';
|
26 |
|
27 |
-
spl_autoload_register(array('
|
28 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
29 |
-
spl_autoload_unregister(array('
|
30 |
|
31 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
32 |
if ($useStaticLoader) {
|
33 |
require __DIR__ . '/autoload_static.php';
|
34 |
|
35 |
-
call_user_func(\Composer\Autoload\
|
36 |
} else {
|
37 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
38 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInitc9664324ae539b90345f70ed310cb589
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
24 |
|
25 |
require __DIR__ . '/platform_check.php';
|
26 |
|
27 |
+
spl_autoload_register(array('ComposerAutoloaderInitc9664324ae539b90345f70ed310cb589', 'loadClassLoader'), true, true);
|
28 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
29 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitc9664324ae539b90345f70ed310cb589', 'loadClassLoader'));
|
30 |
|
31 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
32 |
if ($useStaticLoader) {
|
33 |
require __DIR__ . '/autoload_static.php';
|
34 |
|
35 |
+
call_user_func(\Composer\Autoload\ComposerStaticInitc9664324ae539b90345f70ed310cb589::getInitializer($loader));
|
36 |
} else {
|
37 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
38 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'S' =>
|
@@ -43,9 +43,9 @@ class ComposerStaticInita2b43888cea4bd45e93809d03e360862
|
|
43 |
public static function getInitializer(ClassLoader $loader)
|
44 |
{
|
45 |
return \Closure::bind(function () use ($loader) {
|
46 |
-
$loader->prefixLengthsPsr4 =
|
47 |
-
$loader->prefixDirsPsr4 =
|
48 |
-
$loader->classMap =
|
49 |
|
50 |
}, null, ClassLoader::class);
|
51 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInitc9664324ae539b90345f70ed310cb589
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'S' =>
|
43 |
public static function getInitializer(ClassLoader $loader)
|
44 |
{
|
45 |
return \Closure::bind(function () use ($loader) {
|
46 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInitc9664324ae539b90345f70ed310cb589::$prefixLengthsPsr4;
|
47 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitc9664324ae539b90345f70ed310cb589::$prefixDirsPsr4;
|
48 |
+
$loader->classMap = ComposerStaticInitc9664324ae539b90345f70ed310cb589::$classMap;
|
49 |
|
50 |
}, null, ClassLoader::class);
|
51 |
}
|
vendor/composer/installed.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
-
'pretty_version' => 'dev-release/2.6.
|
4 |
-
'version' => 'dev-release/2.6.
|
5 |
'type' => 'wordpress-plugin',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
-
'reference' => '
|
9 |
'name' => 'facebookincubator/facebook-for-woocommerce',
|
10 |
'dev' => false,
|
11 |
),
|
@@ -20,12 +20,12 @@
|
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'facebookincubator/facebook-for-woocommerce' => array(
|
23 |
-
'pretty_version' => 'dev-release/2.6.
|
24 |
-
'version' => 'dev-release/2.6.
|
25 |
'type' => 'wordpress-plugin',
|
26 |
'install_path' => __DIR__ . '/../../',
|
27 |
'aliases' => array(),
|
28 |
-
'reference' => '
|
29 |
'dev_requirement' => false,
|
30 |
),
|
31 |
'roundcube/plugin-installer' => array(
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
+
'pretty_version' => 'dev-release/2.6.14',
|
4 |
+
'version' => 'dev-release/2.6.14',
|
5 |
'type' => 'wordpress-plugin',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
+
'reference' => '7367bdc89bc85a8d77552b072b94f93e1505267e',
|
9 |
'name' => 'facebookincubator/facebook-for-woocommerce',
|
10 |
'dev' => false,
|
11 |
),
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'facebookincubator/facebook-for-woocommerce' => array(
|
23 |
+
'pretty_version' => 'dev-release/2.6.14',
|
24 |
+
'version' => 'dev-release/2.6.14',
|
25 |
'type' => 'wordpress-plugin',
|
26 |
'install_path' => __DIR__ . '/../../',
|
27 |
'aliases' => array(),
|
28 |
+
'reference' => '7367bdc89bc85a8d77552b072b94f93e1505267e',
|
29 |
'dev_requirement' => false,
|
30 |
),
|
31 |
'roundcube/plugin-installer' => array(
|