Facebook for WooCommerce - Version 2.6.29

Version Description

  • 2022-11-08 =
  • Add - Facebook Product Set under the Marketing menu.
  • Add - HPOS Compatibility.
  • Add - Inbox note about Facebook menu moved under the Marketing menu.
  • Add - Set up Facebook task to the WooCommerce admin tasks.
  • Dev - Replaced methods from classes in the Internal namespace.
  • Fix - Ensure the enhanced product enhance catalog attributes value is unslashed before saving in the post_meta table.
  • Fix - Hosted Woo Updates.
  • Fix - Release/2.6.28.
  • Fix - duplicate InitiateCheckout when using checkout block.
  • Tweak - WC 7.1 compatibility.
  • Tweak - WP 6.1 compatibility.
  • Update - FB Product Set name changed to Facebook Product Set.
  • Update - On successful FBE install users will be redirected to Advertise tab of the plugin.
Download this release

Release Info

Developer automattic
Plugin Icon Facebook for WooCommerce
Version 2.6.29
Comparing to
See all releases

Code changes from version 2.6.28 to 2.6.29

changelog.txt CHANGED
@@ -1,5 +1,20 @@
1
  *** Facebook for WooCommerce Changelog ***
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  = 2.6.28 - 2022-10-25 =
4
  * Fix - Ensure bundles are not treated as virtual products on product_sync.
5
  * Fix - Ensure google-product-category-fields-loads.js loads only on the product category screens.
1
  *** Facebook for WooCommerce Changelog ***
2
 
3
+ = 2.6.29 - 2022-11-08 =
4
+ * Add - Facebook Product Set under the Marketing menu.
5
+ * Add - HPOS Compatibility.
6
+ * Add - Inbox note about Facebook menu moved under the Marketing menu.
7
+ * Add - Set up Facebook task to the WooCommerce admin tasks.
8
+ * Dev - Replaced methods from classes in the `Internal` namespace.
9
+ * Fix - Ensure the enhanced product enhance catalog attributes value is unslashed before saving in the post_meta table.
10
+ * Fix - Hosted Woo Updates.
11
+ * Fix - Release/2.6.28.
12
+ * Fix - duplicate InitiateCheckout when using checkout block.
13
+ * Tweak - WC 7.1 compatibility.
14
+ * Tweak - WP 6.1 compatibility.
15
+ * Update - FB Product Set name changed to Facebook Product Set.
16
+ * Update - On successful FBE install users will be redirected to Advertise tab of the plugin.
17
+
18
  = 2.6.28 - 2022-10-25 =
19
  * Fix - Ensure bundles are not treated as virtual products on product_sync.
20
  * Fix - Ensure google-product-category-fields-loads.js loads only on the product category screens.
class-wc-facebookcommerce.php CHANGED
@@ -18,6 +18,10 @@ use SkyVerge\WooCommerce\PluginFramework\v5_10_0 as Framework;
18
  use SkyVerge\WooCommerce\Facebook\ProductSync\ProductValidator as ProductSyncValidator;
19
  use SkyVerge\WooCommerce\Facebook\Utilities\Heartbeat;
20
  use Automattic\WooCommerce\Admin\Features\Features as WooAdminFeatures;
 
 
 
 
21
 
22
  if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
23
 
@@ -133,6 +137,9 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
133
  add_filter( 'fb_product_set_row_actions', array( $this, 'product_set_links' ) );
134
  add_filter( 'manage_edit-fb_product_set_columns', array( $this, 'manage_fb_product_set_columns' ) );
135
 
 
 
 
136
  // Product Set breadcrumb filters
137
  add_filter( 'woocommerce_navigation_is_connected_page', array( $this, 'is_current_page_conected_filter' ), 99, 2 );
138
  add_filter( 'woocommerce_navigation_get_breadcrumbs', array( $this, 'wc_page_breadcrumbs_filter' ), 99 );
@@ -250,6 +257,21 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
250
  );
251
  }
252
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
 
254
  /**
255
  * Adds the plugin admin notices.
@@ -303,30 +325,6 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
303
  )
304
  );
305
  }
306
-
307
- // otherwise, a general getting started message
308
- } elseif ( ! $this->is_plugin_settings() ) {
309
-
310
- $message = sprintf(
311
- /* translators: Placeholders %1$s - opening strong HTML tag, %2$s - closing strong HTML tag, %3$s - opening link HTML tag, %4$s - closing link HTML tag */
312
- esc_html__(
313
- '%1$sFacebook for WooCommerce is almost ready.%2$s To complete your configuration, %3$scomplete the setup steps%4$s.',
314
- 'facebook-for-woocommerce'
315
- ),
316
- '<strong>',
317
- '</strong>',
318
- '<a href="' . esc_url( facebook_for_woocommerce()->get_settings_url() ) . '">',
319
- '</a>'
320
- );
321
-
322
- $this->get_admin_notice_handler()->add_admin_notice(
323
- $message,
324
- self::PLUGIN_ID . '_get_started',
325
- array(
326
- 'dismissible' => true,
327
- 'notice_class' => 'notice-info',
328
- )
329
- );
330
  }
331
 
332
  // notices for those connected to FBE 2
@@ -389,26 +387,27 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
389
  && \Automattic\WooCommerce\Admin\Loader::is_feature_enabled( 'marketing' );
390
  }
391
 
392
- if ( $is_marketing_enabled ) {
393
-
394
- $this->get_admin_notice_handler()->add_admin_notice(
395
- sprintf(
396
- /* translators: Placeholders: %1$s - opening <a> HTML link tag, %2$s - closing </a> HTML link tag */
397
- esc_html__( 'Heads up! The Facebook menu is now located under the %1$sMarketing%2$s menu.', 'facebook-for-woocommerce' ),
398
- '<a href="' . esc_url( $this->get_settings_url() ) . '">',
399
- '</a>'
400
- ),
401
- 'settings_moved_to_marketing',
402
- array(
403
- 'dismissible' => true,
404
- 'always_show_on_settings' => false,
405
- 'notice_class' => 'notice-info',
406
- )
407
- );
408
  }
409
  }
410
  }
411
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
 
413
  public function add_wordpress_integration() {
414
  new WP_Facebook_Integration();
@@ -470,14 +469,14 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
470
  }
471
 
472
  /**
473
- * Register FB Product Set Taxonomy
474
  *
475
  * @since 2.3.0
476
  */
477
  public function register_custom_taxonomy() {
478
 
479
- $plural = esc_html__( 'FB Product Sets', 'facebook-for-woocommerce' );
480
- $singular = esc_html__( 'FB Product Set', 'facebook-for-woocommerce' );
481
 
482
  $args = array(
483
  'labels' => array(
@@ -502,6 +501,7 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
502
  'public' => true,
503
  'show_in_nav_menus' => false,
504
  'show_tagcloud' => false,
 
505
  );
506
 
507
  register_taxonomy( 'fb_product_set', array( 'product' ), $args );
@@ -509,7 +509,7 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
509
 
510
 
511
  /**
512
- * Filter FB Product Set Taxonomy table links
513
  *
514
  * @since 2.3.0
515
  *
@@ -525,7 +525,7 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
525
 
526
 
527
  /**
528
- * Remove posts count column from FB Product Set custom taxonomy
529
  *
530
  * @since 2.3.0
531
  *
@@ -540,7 +540,7 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
540
 
541
 
542
  /**
543
- * Filter WC Breadcrumbs when the page is FB Product Sets
544
  *
545
  * @since 2.3.0
546
  *
@@ -572,7 +572,7 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
572
 
573
 
574
  /**
575
- * Return that FB Product Set page is a WC Conected Page
576
  *
577
  * @since 2.3.0
578
  *
@@ -1016,6 +1016,19 @@ if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
1016
 
1017
  return admin_url( 'admin.php?page=wc-facebook' );
1018
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
1019
 
1020
 
1021
  /**
18
  use SkyVerge\WooCommerce\Facebook\ProductSync\ProductValidator as ProductSyncValidator;
19
  use SkyVerge\WooCommerce\Facebook\Utilities\Heartbeat;
20
  use Automattic\WooCommerce\Admin\Features\Features as WooAdminFeatures;
21
+ use Automattic\WooCommerce\Admin\Features\OnboardingTasks\TaskLists;
22
+ use Automattic\WooCommerce\Admin\Notes\Note;
23
+ use SkyVerge\WooCommerce\Facebook\Admin\Tasks\Setup;
24
+ use SkyVerge\WooCommerce\Facebook\Admin\Notes\SettingsMoved;
25
 
26
  if ( ! class_exists( 'WC_Facebookcommerce' ) ) :
27
 
137
  add_filter( 'fb_product_set_row_actions', array( $this, 'product_set_links' ) );
138
  add_filter( 'manage_edit-fb_product_set_columns', array( $this, 'manage_fb_product_set_columns' ) );
139
 
140
+ // Hook the setup task. The hook admin_init is not triggered when the WC fetches the tasks using the endpoint: wp-json/wc-admin/onboarding/tasks and hence hooking into init.
141
+ add_action( 'init', array( $this, 'add_setup_task' ), 20 );
142
+
143
  // Product Set breadcrumb filters
144
  add_filter( 'woocommerce_navigation_is_connected_page', array( $this, 'is_current_page_conected_filter' ), 99, 2 );
145
  add_filter( 'woocommerce_navigation_get_breadcrumbs', array( $this, 'wc_page_breadcrumbs_filter' ), 99 );
257
  );
258
  }
259
 
260
+ /**
261
+ * Adds the setup task to the Tasklists.
262
+ *
263
+ * @since 2.6.29
264
+ */
265
+ public function add_setup_task() {
266
+ if ( class_exists( TaskLists::class ) ) { // This is added for backward compatibility.
267
+ TaskLists::add_task(
268
+ 'extended',
269
+ new Setup(
270
+ TaskLists::get_list( 'extended' )
271
+ )
272
+ );
273
+ }
274
+ }
275
 
276
  /**
277
  * Adds the plugin admin notices.
325
  )
326
  );
327
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
328
  }
329
 
330
  // notices for those connected to FBE 2
387
  && \Automattic\WooCommerce\Admin\Loader::is_feature_enabled( 'marketing' );
388
  }
389
 
390
+ if ( $is_marketing_enabled && class_exists( Note::class ) ) { // Checking for Note class is for backward compatibility.
391
+ SettingsMoved::possibly_add_or_delete_note();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  }
393
  }
394
  }
395
 
396
+ /**
397
+ * Get the last event from the plugin lifecycle.
398
+ *
399
+ * @since 2.6.29
400
+ * @return array
401
+ */
402
+ public function get_last_event_from_history() {
403
+ $last_event = array();
404
+ $history_events = $this->lifecycle_handler->get_event_history();
405
+
406
+ if ( isset( $history_events[0] ) ) {
407
+ $last_event = $history_events[0];
408
+ }
409
+ return $last_event;
410
+ }
411
 
412
  public function add_wordpress_integration() {
413
  new WP_Facebook_Integration();
469
  }
470
 
471
  /**
472
+ * Register Facebook Product Set Taxonomy
473
  *
474
  * @since 2.3.0
475
  */
476
  public function register_custom_taxonomy() {
477
 
478
+ $plural = esc_html__( 'Facebook Product Sets', 'facebook-for-woocommerce' );
479
+ $singular = esc_html__( 'Facebook Product Set', 'facebook-for-woocommerce' );
480
 
481
  $args = array(
482
  'labels' => array(
501
  'public' => true,
502
  'show_in_nav_menus' => false,
503
  'show_tagcloud' => false,
504
+ 'show_in_menu' => false,
505
  );
506
 
507
  register_taxonomy( 'fb_product_set', array( 'product' ), $args );
509
 
510
 
511
  /**
512
+ * Filter Facebook Product Set Taxonomy table links
513
  *
514
  * @since 2.3.0
515
  *
525
 
526
 
527
  /**
528
+ * Remove posts count column from Facebook Product Set custom taxonomy
529
  *
530
  * @since 2.3.0
531
  *
540
 
541
 
542
  /**
543
+ * Filter WC Breadcrumbs when the page is Facebook Product Sets
544
  *
545
  * @since 2.3.0
546
  *
572
 
573
 
574
  /**
575
+ * Return that Facebook Product Set page is a WC Conected Page
576
  *
577
  * @since 2.3.0
578
  *
1016
 
1017
  return admin_url( 'admin.php?page=wc-facebook' );
1018
  }
1019
+
1020
+ /**
1021
+ * Gets the advertise tab page URL.
1022
+ *
1023
+ * @since 2.6.29
1024
+ *
1025
+ * @return string
1026
+ */
1027
+ public function get_advertise_tab_url() {
1028
+
1029
+ return admin_url( 'admin.php?page=wc-facebook&tab=advertise' );
1030
+ }
1031
+
1032
 
1033
 
1034
  /**
facebook-commerce-events-tracker.php CHANGED
@@ -850,7 +850,7 @@ if ( ! class_exists( 'WC_Facebookcommerce_EventsTracker' ) ) :
850
  */
851
  public function inject_initiate_checkout_event() {
852
 
853
- if ( ! $this->is_pixel_enabled() || $this->pixel->is_last_event( 'InitiateCheckout' ) ) {
854
  return;
855
  }
856
 
850
  */
851
  public function inject_initiate_checkout_event() {
852
 
853
+ if ( ! $this->is_pixel_enabled() || WC()->cart->get_cart_contents_count() === 0 || $this->pixel->is_last_event( 'InitiateCheckout' ) ) {
854
  return;
855
  }
856
 
facebook-commerce.php CHANGED
@@ -113,7 +113,7 @@ class WC_Facebookcommerce_Integration extends WC_Integration {
113
  /** @var string the short product description mode name */
114
  const PRODUCT_DESCRIPTION_MODE_SHORT = 'short';
115
 
116
- /** @var string custom taxonomy FB product set ID */
117
  const FB_PRODUCT_SET_ID = 'fb_product_set_id';
118
 
119
  /** @var string|null the configured product catalog ID */
@@ -1667,7 +1667,7 @@ class WC_Facebookcommerce_Integration extends WC_Integration {
1667
  )
1668
  );
1669
 
1670
- // update product set to set FB Product Set ID
1671
  if ( $result && empty( $fb_product_set_id ) ) {
1672
 
1673
  // decode and get ID from result body
113
  /** @var string the short product description mode name */
114
  const PRODUCT_DESCRIPTION_MODE_SHORT = 'short';
115
 
116
+ /** @var string custom taxonomy Facebook Product Set ID */
117
  const FB_PRODUCT_SET_ID = 'fb_product_set_id';
118
 
119
  /** @var string|null the configured product catalog ID */
1667
  )
1668
  );
1669
 
1670
+ // update product set to set Facebook Product Set ID
1671
  if ( $result && empty( $fb_product_set_id ) ) {
1672
 
1673
  // decode and get ID from result body
facebook-for-woocommerce.php CHANGED
@@ -11,18 +11,29 @@
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.28
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: 7.0
19
  * Requires PHP: 7.0
20
  *
21
  * @package FacebookCommerce
22
  */
23
 
 
 
24
  defined( 'ABSPATH' ) || exit;
25
 
 
 
 
 
 
 
 
 
 
26
  /**
27
  * The plugin loader class.
28
  *
@@ -33,7 +44,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.28'; // WRCS: DEFINED_VERSION.
37
 
38
  // Minimum PHP version required by this plugin.
39
  const MINIMUM_PHP_VERSION = '7.0.0';
@@ -42,7 +53,7 @@ class WC_Facebook_Loader {
42
  const MINIMUM_WP_VERSION = '4.4';
43
 
44
  // Minimum WooCommerce version required by this plugin.
45
- const MINIMUM_WC_VERSION = '3.5.0';
46
 
47
  // SkyVerge plugin framework version used by this plugin.
48
  const FRAMEWORK_VERSION = '5.10.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.29
15
  * Text Domain: facebook-for-woocommerce
16
+ * Tested up to: 6.1
17
+ * WC requires at least: 5.3
18
+ * WC tested up to: 7.1
19
  * Requires PHP: 7.0
20
  *
21
  * @package FacebookCommerce
22
  */
23
 
24
+ use Automattic\WooCommerce\Utilities\FeaturesUtil;
25
+
26
  defined( 'ABSPATH' ) || exit;
27
 
28
+ // HPOS compatibility declaration.
29
+ add_action(
30
+ 'before_woocommerce_init',
31
+ function() {
32
+ if ( class_exists( FeaturesUtil::class ) ) {
33
+ FeaturesUtil::declare_compatibility( 'custom_order_tables', plugin_basename( __FILE__ ), true );
34
+ }
35
+ }
36
+ );
37
  /**
38
  * The plugin loader class.
39
  *
44
  /**
45
  * @var string the plugin version. This must be in the main plugin file to be automatically bumped by Woorelease.
46
  */
47
+ const PLUGIN_VERSION = '2.6.29'; // WRCS: DEFINED_VERSION.
48
 
49
  // Minimum PHP version required by this plugin.
50
  const MINIMUM_PHP_VERSION = '7.0.0';
53
  const MINIMUM_WP_VERSION = '4.4';
54
 
55
  // Minimum WooCommerce version required by this plugin.
56
+ const MINIMUM_WC_VERSION = '5.3';
57
 
58
  // SkyVerge plugin framework version used by this plugin.
59
  const FRAMEWORK_VERSION = '5.10.0';
i18n/languages/facebook-for-woocommerce.pot CHANGED
@@ -2,24 +2,24 @@
2
  # This file is distributed under the same license as the Facebook for WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Facebook for WooCommerce 2.6.28\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/facebook-for-woocommerce\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-10-25T13:21:10+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: facebook-for-woocommerce\n"
16
 
17
  #. Plugin Name of the plugin
18
- #: class-wc-facebookcommerce.php:1082
19
  #: facebook-commerce.php:229
20
- #: includes/Admin.php:1623
21
- #: includes/Admin/Settings.php:94
22
- #: includes/Admin/Settings.php:119
23
  msgid "Facebook for WooCommerce"
24
  msgstr ""
25
 
@@ -32,9 +32,9 @@ msgid "Grow your business on Facebook! Use this official plugin to help sell mor
32
  msgstr ""
33
 
34
  #. Author of the plugin
35
- #: includes/Admin.php:1259
36
- #: includes/Admin/Settings.php:95
37
- #: includes/Admin/Settings.php:330
38
  msgid "Facebook"
39
  msgstr ""
40
 
@@ -43,70 +43,62 @@ msgid "https://www.facebook.com/"
43
  msgstr ""
44
 
45
  #. translators: Placeholders %1$s - opening strong HTML tag, %2$s - closing strong HTML tag, %3$s - opening link HTML tag, %4$s - closing link HTML tag
46
- #: class-wc-facebookcommerce.php:271
47
  msgid "%1$sHeads up!%2$s You're ready to migrate to a more secure, reliable Facebook for WooCommerce connection. Please %3$sclick here%4$s to reconnect!"
48
  msgstr ""
49
 
50
  #. translators: Placeholders %1$s - opening link HTML tag, %2$s - closing link HTML tag
51
- #: class-wc-facebookcommerce.php:292
52
  msgid "For your convenience, the Facebook for WooCommerce settings are now located under %1$sWooCommerce > Facebook%2$s."
53
  msgstr ""
54
 
55
- #. translators: Placeholders %1$s - opening strong HTML tag, %2$s - closing strong HTML tag, %3$s - opening link HTML tag, %4$s - closing link HTML tag
56
- #: class-wc-facebookcommerce.php:312
57
- msgid "%1$sFacebook for WooCommerce is almost ready.%2$s To complete your configuration, %3$scomplete the setup steps%4$s."
58
- msgstr ""
59
-
60
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s - <a> tag, %4$s - </a> tag
61
- #: class-wc-facebookcommerce.php:344
62
  msgid "%1$sHeads up!%2$s If you've customized your Facebook Messenger color or greeting settings, please update those settings again from the %3$sManage Connection%4$s area."
63
  msgstr ""
64
 
65
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s - <a> tag, %4$s - </a> tag
66
- #: class-wc-facebookcommerce.php:367
67
  msgid "%1$sHeads up!%2$s Your connection to Facebook is no longer valid. Please %3$sclick here%4$s to securely reconnect your account and continue syncing products."
68
  msgstr ""
69
 
70
- #. translators: Placeholders: %1$s - opening <a> HTML link tag, %2$s - closing </a> HTML link tag
71
- #: class-wc-facebookcommerce.php:397
72
- msgid "Heads up! The Facebook menu is now located under the %1$sMarketing%2$s menu."
 
73
  msgstr ""
74
 
75
  #: class-wc-facebookcommerce.php:479
76
- msgid "FB Product Sets"
77
- msgstr ""
78
-
79
- #: class-wc-facebookcommerce.php:480
80
- msgid "FB Product Set"
81
  msgstr ""
82
 
83
  #. translators: Edit item label
84
- #: class-wc-facebookcommerce.php:488
85
  msgid "Edit %s"
86
  msgstr ""
87
 
88
  #. translators: Add new label
89
- #: class-wc-facebookcommerce.php:490
90
  msgid "Add new %s"
91
  msgstr ""
92
 
93
  #. translators: No items found text
94
- #: class-wc-facebookcommerce.php:493
95
  msgid "No %s found."
96
  msgstr ""
97
 
98
  #. translators: Search label
99
- #: class-wc-facebookcommerce.php:495
100
  msgid "Search %s."
101
  msgstr ""
102
 
103
  #. translators: Text label
104
- #: class-wc-facebookcommerce.php:497
105
  msgid "Separate %s with commas"
106
  msgstr ""
107
 
108
  #. translators: Text label
109
- #: class-wc-facebookcommerce.php:499
110
  msgid "Choose from the most used %s"
111
  msgstr ""
112
 
@@ -170,195 +162,195 @@ msgid "There was an issue connecting to the Facebook API: %s"
170
  msgstr ""
171
 
172
  #. translators: %1$s - plugin name, %2$s - minimum WordPress version required, %3$s - update WordPress link open, %4$s - update WordPress link close
173
- #: facebook-for-woocommerce.php:227
174
  msgid "%1$s requires WordPress version %2$s or higher. Please %3$supdate WordPress &raquo;%4$s"
175
  msgstr ""
176
 
177
  #. translators: %1$s - Plugin Name, %2$s - activate WooCommerce link open, %3$s - activate WooCommerce link close.
178
- #: facebook-for-woocommerce.php:253
179
  msgid "%1$s requires WooCommerce to be activated. Please %2$sactivate WooCommerce%3$s."
180
  msgstr ""
181
 
182
  #. translators: %1$s - Plugin Name, %2$s - install WooCommerce link open, %3$s - install WooCommerce link close.
183
- #: facebook-for-woocommerce.php:270
184
  msgid "%1$s requires WooCommerce to be installed and activated. Please %2$sinstall WooCommerce%3$s."
185
  msgstr ""
186
 
187
  #. translators: %1$s - Plugin Name, %2$s - minimum WooCommerce version, %3$s - update WooCommerce link open, %4$s - update WooCommerce link close, %5$s - download minimum WooCommerce link open, %6$s - download minimum WooCommerce link close.
188
- #: facebook-for-woocommerce.php:290
189
  msgid "%1$s requires WooCommerce version %2$s or higher. Please %3$supdate WooCommerce%4$s to the latest version, or %5$sdownload the minimum required version &raquo;%6$s"
190
  msgstr ""
191
 
192
- #: includes/Admin.php:129
193
  msgid "The name is how it appears on Facebook Catalog."
194
  msgstr ""
195
 
196
- #: includes/Admin.php:170
197
  msgid "Search main categories..."
198
  msgstr ""
199
 
200
- #: includes/Admin.php:171
201
  msgid "Choose a main category"
202
  msgstr ""
203
 
204
- #: includes/Admin.php:172
205
  msgid "Choose a category"
206
  msgstr ""
207
 
208
- #: includes/Admin.php:208
209
- msgid "You have selected one or more categories currently excluded from the Facebook sync. Products belonging to the excluded categories will not be added to your FB product set."
210
  msgstr ""
211
 
212
- #: includes/Admin.php:249
213
  msgid "Please enter a Google product category and at least one sub-category to sell this product on Instagram."
214
  msgstr ""
215
 
216
- #: includes/Admin.php:315
217
  msgid "To sell this product on Instagram, please ensure it meets the following requirements:"
218
  msgstr ""
219
 
220
- #: includes/Admin.php:318
221
  msgid "Has a price defined"
222
  msgstr ""
223
 
224
  #. translators: Placeholders: %1$s - <strong> opening HTML tag, %2$s - </strong> closing HTML tag
225
- #: includes/Admin.php:324
226
  msgid "Has %1$sManage Stock%2$s enabled on the %1$sInventory%2$s tab"
227
  msgstr ""
228
 
229
  #. translators: Placeholders: %1$s - <strong> opening HTML tag, %2$s - </strong> closing HTML tag
230
- #: includes/Admin.php:336
231
  msgid "Has the %1$sFacebook Sync%2$s setting set to \"Sync and show\" or \"Sync and hide\""
232
  msgstr ""
233
 
234
  #. translators: Placeholders: %1$s - opening <a> link tag, %2$s - closing </a> link tag
235
- #: includes/Admin.php:390
236
  msgid "You're removing a product from the Facebook sync that is currently listed in your %1$sFacebook catalog%2$s. Would you like to delete the product from the Facebook catalog as well?"
237
  msgstr ""
238
 
239
- #: includes/Admin.php:459
240
- #: includes/Admin.php:1302
241
- #: includes/Admin.php:1444
242
  msgid "Facebook sync"
243
  msgstr ""
244
 
245
- #: includes/Admin.php:486
246
- #: includes/Admin.php:517
247
  msgid "Sync and show"
248
  msgstr ""
249
 
250
- #: includes/Admin.php:488
251
- #: includes/Admin.php:518
252
  msgid "Sync and hide"
253
  msgstr ""
254
 
255
- #: includes/Admin.php:492
256
- #: includes/Admin.php:519
257
- #: includes/Admin.php:1306
258
- #: includes/Admin.php:1448
259
  msgid "Do not sync"
260
  msgstr ""
261
 
262
- #: includes/Admin.php:516
263
  msgid "Filter by Facebook sync setting"
264
  msgstr ""
265
 
266
- #: includes/Admin.php:929
267
  msgid "Include in Facebook sync"
268
  msgstr ""
269
 
270
- #: includes/Admin.php:930
271
  msgid "Exclude from Facebook sync"
272
  msgstr ""
273
 
274
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s - <a> tag, %4$s - <a> tag
275
- #: includes/Admin.php:1123
276
  msgid "%1$sHeads up!%2$s If this product was previously visible in Facebook, you may need to delete it from the %3$sFacebook catalog%4$s to completely hide it from customer view."
277
  msgid_plural "%1$sHeads up!%2$s If these products were previously visible in Facebook, you may need to delete them from the %3$sFacebook catalog%4$s to completely hide them from customer view."
278
  msgstr[0] ""
279
  msgstr[1] ""
280
 
281
- #: includes/Admin.php:1130
282
  msgid "Don't show this notice again"
283
  msgstr ""
284
 
285
  #. translators: Placeholders: %1$s - number of affected products, %2$s opening HTML <a> tag, %3$s - closing HTML </a> tag, %4$s - opening HTML <a> tag, %5$s - closing HTML </a> tag
286
- #: includes/Admin.php:1164
287
  msgid "%2$s%1$s product%3$s or some of its variations could not be updated to show in the Facebook catalog — %4$sFacebook Commerce Policies%5$s prohibit selling some product types (like virtual products). You may still advertise Virtual products on Facebook."
288
  msgid_plural "%2$s%1$s products%3$s or some of their variations could not be updated to show in the Facebook catalog — %4$sFacebook Commerce Policies%5$s prohibit selling some product types (like virtual products). You may still advertise Virtual products on Facebook."
289
  msgstr[0] ""
290
  msgstr[1] ""
291
 
292
  #. translators: Placeholders: %1$s - opening HTML <strong> tag, %2$s - closing HTML </strong> tag, %3$s - opening HTML <a> tag, %4$s - closing HTML </a> tag
293
- #: includes/Admin.php:1230
294
  msgid "%1$sHeads up!%2$s Facebook's %3$sCommerce Policies%4$s do not support selling virtual products, so we have hidden your synced Virtual products in your Facebook catalog. You may still advertise Virtual products on Facebook."
295
  msgstr ""
296
 
297
- #: includes/Admin.php:1304
298
- #: includes/Admin.php:1446
299
  msgid "Sync and show in catalog"
300
  msgstr ""
301
 
302
- #: includes/Admin.php:1305
303
- #: includes/Admin.php:1447
304
  msgid "Sync and hide in catalog"
305
  msgstr ""
306
 
307
- #: includes/Admin.php:1315
308
- #: includes/Admin.php:1460
309
  msgid "Facebook Description"
310
  msgstr ""
311
 
312
- #: includes/Admin.php:1317
313
- #: includes/Admin.php:1462
314
  msgid "Custom (plain-text only) description for product on Facebook. If blank, product description will be used. If product description is blank, shortname will be used."
315
  msgstr ""
316
 
317
- #: includes/Admin.php:1328
318
- #: includes/Admin.php:1475
319
  msgid "Facebook Product Image"
320
  msgstr ""
321
 
322
- #: includes/Admin.php:1330
323
- #: includes/Admin.php:1477
324
  msgid "Choose the product image that should be synced to the Facebook catalog for this product. If using a custom image, please enter an absolute URL (e.g. https://domain.com/image.jpg)."
325
  msgstr ""
326
 
327
- #: includes/Admin.php:1332
328
  msgid "Use WooCommerce image"
329
  msgstr ""
330
 
331
- #: includes/Admin.php:1333
332
- #: includes/Admin.php:1481
333
  msgid "Use custom image"
334
  msgstr ""
335
 
336
- #: includes/Admin.php:1344
337
- #: includes/Admin.php:1493
338
  msgid "Custom Image URL"
339
  msgstr ""
340
 
341
  #. translators: Placeholders %1$s - WC currency symbol
342
  #. translators: Placeholders %1$s - WC currency symbol
343
- #: includes/Admin.php:1355
344
- #: includes/Admin.php:1506
345
  msgid "Facebook Price (%1$s)"
346
  msgstr ""
347
 
348
- #: includes/Admin.php:1359
349
- #: includes/Admin.php:1510
350
  msgid "Custom price for product on Facebook. Please enter in monetary decimal (.) format without thousand separators and currency symbols. If blank, product price will be used."
351
  msgstr ""
352
 
353
- #: includes/Admin.php:1479
354
  msgid "Use variation image"
355
  msgstr ""
356
 
357
- #: includes/Admin.php:1480
358
  msgid "Use parent image"
359
  msgstr ""
360
 
361
- #: includes/Admin.php:1625
362
  msgid "Close modal panel"
363
  msgstr ""
364
 
@@ -370,6 +362,18 @@ msgstr ""
370
  msgid "Show advanced options"
371
  msgstr ""
372
 
 
 
 
 
 
 
 
 
 
 
 
 
373
  #: includes/Admin/Products.php:101
374
  msgid "Select values for enhanced attributes for this product"
375
  msgstr ""
@@ -448,7 +452,7 @@ msgid "WC Product Categories"
448
  msgstr ""
449
 
450
  #: includes/Admin/Product_Sets.php:182
451
- msgid "Map FB Product Set to WC Product Categories"
452
  msgstr ""
453
 
454
  #: includes/Admin/Product_Sync_Meta_Box.php:37
@@ -475,20 +479,20 @@ msgstr ""
475
  msgid "This product is not yet synced to Facebook."
476
  msgstr ""
477
 
478
- #: includes/Admin/Settings.php:125
479
  #: includes/Admin/Settings_Screens/Connection.php:35
480
  #: includes/Admin/Settings_Screens/Connection.php:36
481
  msgid "Connection"
482
  msgstr ""
483
 
484
- #: includes/Admin/Settings.php:128
485
  #: includes/Admin/Settings_Screens/Messenger.php:37
486
  #: includes/Admin/Settings_Screens/Messenger.php:38
487
  #: includes/Admin/Settings_Screens/Messenger.php:140
488
  msgid "Messenger"
489
  msgstr ""
490
 
491
- #: includes/Admin/Settings.php:131
492
  #: includes/Admin/Settings_Screens/Product_Sync.php:43
493
  #: includes/Admin/Settings_Screens/Product_Sync.php:44
494
  #: includes/Admin/Settings_Screens/Product_Sync.php:181
@@ -496,22 +500,22 @@ msgstr ""
496
  msgid "Product sync"
497
  msgstr ""
498
 
499
- #: includes/Admin/Settings.php:134
500
  #: includes/Admin/Settings_Screens/Advertise.php:38
501
  #: includes/Admin/Settings_Screens/Advertise.php:39
502
  msgid "Advertise"
503
  msgstr ""
504
 
505
- #: includes/Admin/Settings.php:220
506
  msgid "You do not have permission to save these settings."
507
  msgstr ""
508
 
509
- #: includes/Admin/Settings.php:229
510
  msgid "Your settings have been saved."
511
  msgstr ""
512
 
513
  #. translators: Placeholders: %s - user-friendly error message
514
- #: includes/Admin/Settings.php:236
515
  msgid "Your settings could not be saved. %s"
516
  msgstr ""
517
 
@@ -749,6 +753,18 @@ msgstr ""
749
  msgid "Please %1$sconnect to Facebook%2$s to enable and manage product sync."
750
  msgstr ""
751
 
 
 
 
 
 
 
 
 
 
 
 
 
752
  #: includes/AJAX.php:82
753
  msgid "Invalid nonce."
754
  msgstr ""
@@ -932,20 +948,20 @@ msgstr ""
932
  msgid "Connection successful!"
933
  msgstr ""
934
 
935
- #: includes/Handlers/Connection.php:352
936
  msgid "You do not have permission to uninstall Facebook Business Extension."
937
  msgstr ""
938
 
939
- #: includes/Handlers/Connection.php:362
940
  msgid "Disconnection successful."
941
  msgstr ""
942
 
943
  #. translators: Placeholders: %s - Facebook page ID
944
- #: includes/Handlers/Connection.php:442
945
  msgid "Page %s not authorized."
946
  msgstr ""
947
 
948
- #: includes/Handlers/Connection.php:1415
949
  msgid "You do not have permission to finish App Store login."
950
  msgstr ""
951
 
2
  # This file is distributed under the same license as the Facebook for WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Facebook for WooCommerce 2.6.29\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/facebook-for-woocommerce\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-11-08T03:52:22+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: facebook-for-woocommerce\n"
16
 
17
  #. Plugin Name of the plugin
18
+ #: class-wc-facebookcommerce.php:1095
19
  #: facebook-commerce.php:229
20
+ #: includes/Admin.php:1626
21
+ #: includes/Admin/Settings.php:100
22
+ #: includes/Admin/Settings.php:170
23
  msgid "Facebook for WooCommerce"
24
  msgstr ""
25
 
32
  msgstr ""
33
 
34
  #. Author of the plugin
35
+ #: includes/Admin.php:1262
36
+ #: includes/Admin/Settings.php:101
37
+ #: includes/Admin/Settings.php:381
38
  msgid "Facebook"
39
  msgstr ""
40
 
43
  msgstr ""
44
 
45
  #. translators: Placeholders %1$s - opening strong HTML tag, %2$s - closing strong HTML tag, %3$s - opening link HTML tag, %4$s - closing link HTML tag
46
+ #: class-wc-facebookcommerce.php:293
47
  msgid "%1$sHeads up!%2$s You're ready to migrate to a more secure, reliable Facebook for WooCommerce connection. Please %3$sclick here%4$s to reconnect!"
48
  msgstr ""
49
 
50
  #. translators: Placeholders %1$s - opening link HTML tag, %2$s - closing link HTML tag
51
+ #: class-wc-facebookcommerce.php:314
52
  msgid "For your convenience, the Facebook for WooCommerce settings are now located under %1$sWooCommerce > Facebook%2$s."
53
  msgstr ""
54
 
 
 
 
 
 
55
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s - <a> tag, %4$s - </a> tag
56
+ #: class-wc-facebookcommerce.php:342
57
  msgid "%1$sHeads up!%2$s If you've customized your Facebook Messenger color or greeting settings, please update those settings again from the %3$sManage Connection%4$s area."
58
  msgstr ""
59
 
60
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s - <a> tag, %4$s - </a> tag
61
+ #: class-wc-facebookcommerce.php:365
62
  msgid "%1$sHeads up!%2$s Your connection to Facebook is no longer valid. Please %3$sclick here%4$s to securely reconnect your account and continue syncing products."
63
  msgstr ""
64
 
65
+ #: class-wc-facebookcommerce.php:478
66
+ #: includes/Admin/Settings.php:131
67
+ #: includes/Admin/Settings.php:132
68
+ msgid "Facebook Product Sets"
69
  msgstr ""
70
 
71
  #: class-wc-facebookcommerce.php:479
72
+ msgid "Facebook Product Set"
 
 
 
 
73
  msgstr ""
74
 
75
  #. translators: Edit item label
76
+ #: class-wc-facebookcommerce.php:487
77
  msgid "Edit %s"
78
  msgstr ""
79
 
80
  #. translators: Add new label
81
+ #: class-wc-facebookcommerce.php:489
82
  msgid "Add new %s"
83
  msgstr ""
84
 
85
  #. translators: No items found text
86
+ #: class-wc-facebookcommerce.php:492
87
  msgid "No %s found."
88
  msgstr ""
89
 
90
  #. translators: Search label
91
+ #: class-wc-facebookcommerce.php:494
92
  msgid "Search %s."
93
  msgstr ""
94
 
95
  #. translators: Text label
96
+ #: class-wc-facebookcommerce.php:496
97
  msgid "Separate %s with commas"
98
  msgstr ""
99
 
100
  #. translators: Text label
101
+ #: class-wc-facebookcommerce.php:498
102
  msgid "Choose from the most used %s"
103
  msgstr ""
104
 
162
  msgstr ""
163
 
164
  #. translators: %1$s - plugin name, %2$s - minimum WordPress version required, %3$s - update WordPress link open, %4$s - update WordPress link close
165
+ #: facebook-for-woocommerce.php:238
166
  msgid "%1$s requires WordPress version %2$s or higher. Please %3$supdate WordPress &raquo;%4$s"
167
  msgstr ""
168
 
169
  #. translators: %1$s - Plugin Name, %2$s - activate WooCommerce link open, %3$s - activate WooCommerce link close.
170
+ #: facebook-for-woocommerce.php:264
171
  msgid "%1$s requires WooCommerce to be activated. Please %2$sactivate WooCommerce%3$s."
172
  msgstr ""
173
 
174
  #. translators: %1$s - Plugin Name, %2$s - install WooCommerce link open, %3$s - install WooCommerce link close.
175
+ #: facebook-for-woocommerce.php:281
176
  msgid "%1$s requires WooCommerce to be installed and activated. Please %2$sinstall WooCommerce%3$s."
177
  msgstr ""
178
 
179
  #. translators: %1$s - Plugin Name, %2$s - minimum WooCommerce version, %3$s - update WooCommerce link open, %4$s - update WooCommerce link close, %5$s - download minimum WooCommerce link open, %6$s - download minimum WooCommerce link close.
180
+ #: facebook-for-woocommerce.php:301
181
  msgid "%1$s requires WooCommerce version %2$s or higher. Please %3$supdate WooCommerce%4$s to the latest version, or %5$sdownload the minimum required version &raquo;%6$s"
182
  msgstr ""
183
 
184
+ #: includes/Admin.php:132
185
  msgid "The name is how it appears on Facebook Catalog."
186
  msgstr ""
187
 
188
+ #: includes/Admin.php:173
189
  msgid "Search main categories..."
190
  msgstr ""
191
 
192
+ #: includes/Admin.php:174
193
  msgid "Choose a main category"
194
  msgstr ""
195
 
196
+ #: includes/Admin.php:175
197
  msgid "Choose a category"
198
  msgstr ""
199
 
200
+ #: includes/Admin.php:211
201
+ msgid "You have selected one or more categories currently excluded from the Facebook sync. Products belonging to the excluded categories will not be added to your Facebook Product Set."
202
  msgstr ""
203
 
204
+ #: includes/Admin.php:252
205
  msgid "Please enter a Google product category and at least one sub-category to sell this product on Instagram."
206
  msgstr ""
207
 
208
+ #: includes/Admin.php:318
209
  msgid "To sell this product on Instagram, please ensure it meets the following requirements:"
210
  msgstr ""
211
 
212
+ #: includes/Admin.php:321
213
  msgid "Has a price defined"
214
  msgstr ""
215
 
216
  #. translators: Placeholders: %1$s - <strong> opening HTML tag, %2$s - </strong> closing HTML tag
217
+ #: includes/Admin.php:327
218
  msgid "Has %1$sManage Stock%2$s enabled on the %1$sInventory%2$s tab"
219
  msgstr ""
220
 
221
  #. translators: Placeholders: %1$s - <strong> opening HTML tag, %2$s - </strong> closing HTML tag
222
+ #: includes/Admin.php:339
223
  msgid "Has the %1$sFacebook Sync%2$s setting set to \"Sync and show\" or \"Sync and hide\""
224
  msgstr ""
225
 
226
  #. translators: Placeholders: %1$s - opening <a> link tag, %2$s - closing </a> link tag
227
+ #: includes/Admin.php:393
228
  msgid "You're removing a product from the Facebook sync that is currently listed in your %1$sFacebook catalog%2$s. Would you like to delete the product from the Facebook catalog as well?"
229
  msgstr ""
230
 
231
+ #: includes/Admin.php:462
232
+ #: includes/Admin.php:1305
233
+ #: includes/Admin.php:1447
234
  msgid "Facebook sync"
235
  msgstr ""
236
 
237
+ #: includes/Admin.php:489
238
+ #: includes/Admin.php:520
239
  msgid "Sync and show"
240
  msgstr ""
241
 
242
+ #: includes/Admin.php:491
243
+ #: includes/Admin.php:521
244
  msgid "Sync and hide"
245
  msgstr ""
246
 
247
+ #: includes/Admin.php:495
248
+ #: includes/Admin.php:522
249
+ #: includes/Admin.php:1309
250
+ #: includes/Admin.php:1451
251
  msgid "Do not sync"
252
  msgstr ""
253
 
254
+ #: includes/Admin.php:519
255
  msgid "Filter by Facebook sync setting"
256
  msgstr ""
257
 
258
+ #: includes/Admin.php:932
259
  msgid "Include in Facebook sync"
260
  msgstr ""
261
 
262
+ #: includes/Admin.php:933
263
  msgid "Exclude from Facebook sync"
264
  msgstr ""
265
 
266
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s - <a> tag, %4$s - <a> tag
267
+ #: includes/Admin.php:1126
268
  msgid "%1$sHeads up!%2$s If this product was previously visible in Facebook, you may need to delete it from the %3$sFacebook catalog%4$s to completely hide it from customer view."
269
  msgid_plural "%1$sHeads up!%2$s If these products were previously visible in Facebook, you may need to delete them from the %3$sFacebook catalog%4$s to completely hide them from customer view."
270
  msgstr[0] ""
271
  msgstr[1] ""
272
 
273
+ #: includes/Admin.php:1133
274
  msgid "Don't show this notice again"
275
  msgstr ""
276
 
277
  #. translators: Placeholders: %1$s - number of affected products, %2$s opening HTML <a> tag, %3$s - closing HTML </a> tag, %4$s - opening HTML <a> tag, %5$s - closing HTML </a> tag
278
+ #: includes/Admin.php:1167
279
  msgid "%2$s%1$s product%3$s or some of its variations could not be updated to show in the Facebook catalog — %4$sFacebook Commerce Policies%5$s prohibit selling some product types (like virtual products). You may still advertise Virtual products on Facebook."
280
  msgid_plural "%2$s%1$s products%3$s or some of their variations could not be updated to show in the Facebook catalog — %4$sFacebook Commerce Policies%5$s prohibit selling some product types (like virtual products). You may still advertise Virtual products on Facebook."
281
  msgstr[0] ""
282
  msgstr[1] ""
283
 
284
  #. translators: Placeholders: %1$s - opening HTML <strong> tag, %2$s - closing HTML </strong> tag, %3$s - opening HTML <a> tag, %4$s - closing HTML </a> tag
285
+ #: includes/Admin.php:1233
286
  msgid "%1$sHeads up!%2$s Facebook's %3$sCommerce Policies%4$s do not support selling virtual products, so we have hidden your synced Virtual products in your Facebook catalog. You may still advertise Virtual products on Facebook."
287
  msgstr ""
288
 
289
+ #: includes/Admin.php:1307
290
+ #: includes/Admin.php:1449
291
  msgid "Sync and show in catalog"
292
  msgstr ""
293
 
294
+ #: includes/Admin.php:1308
295
+ #: includes/Admin.php:1450
296
  msgid "Sync and hide in catalog"
297
  msgstr ""
298
 
299
+ #: includes/Admin.php:1318
300
+ #: includes/Admin.php:1463
301
  msgid "Facebook Description"
302
  msgstr ""
303
 
304
+ #: includes/Admin.php:1320
305
+ #: includes/Admin.php:1465
306
  msgid "Custom (plain-text only) description for product on Facebook. If blank, product description will be used. If product description is blank, shortname will be used."
307
  msgstr ""
308
 
309
+ #: includes/Admin.php:1331
310
+ #: includes/Admin.php:1478
311
  msgid "Facebook Product Image"
312
  msgstr ""
313
 
314
+ #: includes/Admin.php:1333
315
+ #: includes/Admin.php:1480
316
  msgid "Choose the product image that should be synced to the Facebook catalog for this product. If using a custom image, please enter an absolute URL (e.g. https://domain.com/image.jpg)."
317
  msgstr ""
318
 
319
+ #: includes/Admin.php:1335
320
  msgid "Use WooCommerce image"
321
  msgstr ""
322
 
323
+ #: includes/Admin.php:1336
324
+ #: includes/Admin.php:1484
325
  msgid "Use custom image"
326
  msgstr ""
327
 
328
+ #: includes/Admin.php:1347
329
+ #: includes/Admin.php:1496
330
  msgid "Custom Image URL"
331
  msgstr ""
332
 
333
  #. translators: Placeholders %1$s - WC currency symbol
334
  #. translators: Placeholders %1$s - WC currency symbol
335
+ #: includes/Admin.php:1358
336
+ #: includes/Admin.php:1509
337
  msgid "Facebook Price (%1$s)"
338
  msgstr ""
339
 
340
+ #: includes/Admin.php:1362
341
+ #: includes/Admin.php:1513
342
  msgid "Custom price for product on Facebook. Please enter in monetary decimal (.) format without thousand separators and currency symbols. If blank, product price will be used."
343
  msgstr ""
344
 
345
+ #: includes/Admin.php:1482
346
  msgid "Use variation image"
347
  msgstr ""
348
 
349
+ #: includes/Admin.php:1483
350
  msgid "Use parent image"
351
  msgstr ""
352
 
353
+ #: includes/Admin.php:1628
354
  msgid "Close modal panel"
355
  msgstr ""
356
 
362
  msgid "Show advanced options"
363
  msgstr ""
364
 
365
+ #: includes/Admin/Notes/SettingsMoved.php:76
366
+ msgid "Sync your products and reach customers across Facebook, Instagram, Messenger and WhatsApp through your Facebook plugin, which can be found at Marketing > Facebook."
367
+ msgstr ""
368
+
369
+ #: includes/Admin/Notes/SettingsMoved.php:79
370
+ msgid "Facebook is now found under Marketing"
371
+ msgstr ""
372
+
373
+ #: includes/Admin/Notes/SettingsMoved.php:85
374
+ msgid "Go to Facebook"
375
+ msgstr ""
376
+
377
  #: includes/Admin/Products.php:101
378
  msgid "Select values for enhanced attributes for this product"
379
  msgstr ""
452
  msgstr ""
453
 
454
  #: includes/Admin/Product_Sets.php:182
455
+ msgid "Map Facebook Product Set to WC Product Categories"
456
  msgstr ""
457
 
458
  #: includes/Admin/Product_Sync_Meta_Box.php:37
479
  msgid "This product is not yet synced to Facebook."
480
  msgstr ""
481
 
482
+ #: includes/Admin/Settings.php:176
483
  #: includes/Admin/Settings_Screens/Connection.php:35
484
  #: includes/Admin/Settings_Screens/Connection.php:36
485
  msgid "Connection"
486
  msgstr ""
487
 
488
+ #: includes/Admin/Settings.php:179
489
  #: includes/Admin/Settings_Screens/Messenger.php:37
490
  #: includes/Admin/Settings_Screens/Messenger.php:38
491
  #: includes/Admin/Settings_Screens/Messenger.php:140
492
  msgid "Messenger"
493
  msgstr ""
494
 
495
+ #: includes/Admin/Settings.php:182
496
  #: includes/Admin/Settings_Screens/Product_Sync.php:43
497
  #: includes/Admin/Settings_Screens/Product_Sync.php:44
498
  #: includes/Admin/Settings_Screens/Product_Sync.php:181
500
  msgid "Product sync"
501
  msgstr ""
502
 
503
+ #: includes/Admin/Settings.php:185
504
  #: includes/Admin/Settings_Screens/Advertise.php:38
505
  #: includes/Admin/Settings_Screens/Advertise.php:39
506
  msgid "Advertise"
507
  msgstr ""
508
 
509
+ #: includes/Admin/Settings.php:271
510
  msgid "You do not have permission to save these settings."
511
  msgstr ""
512
 
513
+ #: includes/Admin/Settings.php:280
514
  msgid "Your settings have been saved."
515
  msgstr ""
516
 
517
  #. translators: Placeholders: %s - user-friendly error message
518
+ #: includes/Admin/Settings.php:287
519
  msgid "Your settings could not be saved. %s"
520
  msgstr ""
521
 
753
  msgid "Please %1$sconnect to Facebook%2$s to enable and manage product sync."
754
  msgstr ""
755
 
756
+ #: includes/Admin/Tasks/Setup.php:36
757
+ msgid "Set up Facebook for WooCommerce"
758
+ msgstr ""
759
+
760
+ #: includes/Admin/Tasks/Setup.php:45
761
+ msgid "Sync your products and reach customers across Facebook, Instagram, Messenger and WhatsApp."
762
+ msgstr ""
763
+
764
+ #: includes/Admin/Tasks/Setup.php:54
765
+ msgid "20 minutes"
766
+ msgstr ""
767
+
768
  #: includes/AJAX.php:82
769
  msgid "Invalid nonce."
770
  msgstr ""
948
  msgid "Connection successful!"
949
  msgstr ""
950
 
951
+ #: includes/Handlers/Connection.php:360
952
  msgid "You do not have permission to uninstall Facebook Business Extension."
953
  msgstr ""
954
 
955
+ #: includes/Handlers/Connection.php:370
956
  msgid "Disconnection successful."
957
  msgstr ""
958
 
959
  #. translators: Placeholders: %s - Facebook page ID
960
+ #: includes/Handlers/Connection.php:450
961
  msgid "Page %s not authorized."
962
  msgstr ""
963
 
964
+ #: includes/Handlers/Connection.php:1423
965
  msgid "You do not have permission to finish App Store login."
966
  msgstr ""
967
 
includes/Admin.php CHANGED
@@ -12,6 +12,7 @@
12
  namespace SkyVerge\WooCommerce\Facebook;
13
 
14
  use SkyVerge\WooCommerce\PluginFramework\v5_10_0\SV_WC_Helper;
 
15
 
16
  defined( 'ABSPATH' ) or exit;
17
 
@@ -46,13 +47,15 @@ class Admin {
46
  */
47
  public function __construct() {
48
 
 
 
49
  $this->screen_ids = [
50
  'product',
51
  'edit-product',
52
  'woocommerce_page_wc-facebook',
53
  'marketing_page_wc-facebook',
54
  'edit-product_cat',
55
- 'shop_order',
56
  ];
57
 
58
  // enqueue admin scripts
@@ -205,7 +208,7 @@ class Admin {
205
  array(
206
 
207
  'excluded_category_ids' => facebook_for_woocommerce()->get_integration()->get_excluded_product_category_ids(),
208
- 'excluded_category_warning_message' => __( 'You have selected one or more categories currently excluded from the Facebook sync. Products belonging to the excluded categories will not be added to your FB product set.', 'facebook-for-woocommerce' ),
209
  )
210
  );
211
  }
12
  namespace SkyVerge\WooCommerce\Facebook;
13
 
14
  use SkyVerge\WooCommerce\PluginFramework\v5_10_0\SV_WC_Helper;
15
+ use Automattic\WooCommerce\Utilities\OrderUtil;
16
 
17
  defined( 'ABSPATH' ) or exit;
18
 
47
  */
48
  public function __construct() {
49
 
50
+ $order_screen_id = class_exists( OrderUtil::class ) ? OrderUtil::get_order_admin_screen() : 'shop_order';
51
+
52
  $this->screen_ids = [
53
  'product',
54
  'edit-product',
55
  'woocommerce_page_wc-facebook',
56
  'marketing_page_wc-facebook',
57
  'edit-product_cat',
58
+ $order_screen_id,
59
  ];
60
 
61
  // enqueue admin scripts
208
  array(
209
 
210
  'excluded_category_ids' => facebook_for_woocommerce()->get_integration()->get_excluded_product_category_ids(),
211
+ 'excluded_category_warning_message' => __( 'You have selected one or more categories currently excluded from the Facebook sync. Products belonging to the excluded categories will not be added to your Facebook Product Set.', 'facebook-for-woocommerce' ),
212
  )
213
  );
214
  }
includes/Admin/Notes/SettingsMoved.php ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Facebook Menu Settings moved note.
4
+ *
5
+ * Adds a note to merchant's inbox about Facebook Menu being moved to Marketing menu.
6
+ *
7
+ * @package FacebookCommerce
8
+ */
9
+
10
+ namespace SkyVerge\WooCommerce\Facebook\Admin\Notes;
11
+
12
+ defined( 'ABSPATH' ) || exit;
13
+
14
+ use \Automattic\WooCommerce\Admin\Notes\Note;
15
+ use \Automattic\WooCommerce\Admin\Notes\NoteTraits;
16
+
17
+ /**
18
+ * SettingsMoved class.
19
+ */
20
+ class SettingsMoved {
21
+ /**
22
+ * Note traits.
23
+ */
24
+ use NoteTraits;
25
+
26
+ /**
27
+ * Name of the note for use in the database.
28
+ */
29
+ const NOTE_NAME = 'facebook-for-woocommerce-settings-moved-to-marketing';
30
+
31
+ /**
32
+ * Checks if this note should be displayed.
33
+ *
34
+ * @return bool
35
+ */
36
+ public static function should_display() {
37
+ /**
38
+ * The Facebook menu was moved under Marketing menu in v2.2.0. Display this note
39
+ * only to users updating from a version prior to v2.2.0.
40
+ */
41
+ $should_display = false;
42
+ $last_event = facebook_for_woocommerce()->get_last_event_from_history();
43
+
44
+ if ( isset( $last_event['name'] ) && 'upgrade' === $last_event['name'] ) {
45
+ $last_version = $last_event['data']['from_version'];
46
+ if ( version_compare( $last_version, '2.2.0', '<' ) ) {
47
+ $should_display = true;
48
+ }
49
+ }
50
+
51
+ return $should_display;
52
+ }
53
+
54
+ /**
55
+ * Add or delete note depending on the conditions to display the note.
56
+ *
57
+ * @throws NotesUnavailableException Throws exception when notes are unavailable.
58
+ */
59
+ public static function possibly_add_or_delete_note() {
60
+ // Verify the conditions to display the note.
61
+ if ( self::should_display() ) {
62
+ self::possibly_add_note();
63
+ } elseif ( self::note_exists() ) {
64
+ self::possibly_delete_note();
65
+ }
66
+ }
67
+
68
+ /**
69
+ * Get the note.
70
+ *
71
+ * @return Note
72
+ */
73
+ public static function get_note() {
74
+
75
+ $settings_url = facebook_for_woocommerce()->get_settings_url();
76
+ $content = esc_html__( 'Sync your products and reach customers across Facebook, Instagram, Messenger and WhatsApp through your Facebook plugin, which can be found at Marketing > Facebook.', 'facebook-for-woocommerce' );
77
+
78
+ $note = new Note();
79
+ $note->set_title( esc_html__( 'Facebook is now found under Marketing', 'facebook-for-woocommerce' ) );
80
+ $note->set_content( $content );
81
+ $note->set_content_data( (object) array() );
82
+ $note->set_type( Note::E_WC_ADMIN_NOTE_INFORMATIONAL );
83
+ $note->set_name( self::NOTE_NAME );
84
+ $note->set_source( 'facebook-for-woocommerce' );
85
+ $note->add_action( 'settings', esc_html__( 'Go to Facebook', 'facebook-for-woocommerce' ), $settings_url );
86
+ return $note;
87
+ }
88
+ }
includes/Admin/Product_Sets.php CHANGED
@@ -75,7 +75,7 @@ class Product_Sets {
75
 
76
 
77
  /**
78
- * Add field to FB Product Set new term
79
  *
80
  * @since 2.3.0
81
  */
@@ -90,7 +90,7 @@ class Product_Sets {
90
 
91
 
92
  /**
93
- * Add field to FB Product Set new term
94
  *
95
  * @since 2.3.0
96
  *
@@ -179,7 +179,7 @@ class Product_Sets {
179
  <option value="<?php echo esc_attr( $product_cat->term_id ); ?>" <?php echo esc_attr( $selected ); ?>><?php echo esc_attr( $product_cat->name ); ?></option>
180
  <?php endforeach; ?>
181
  <select>
182
- <p class="description"><?php echo esc_html__( 'Map FB Product Set to WC Product Categories', 'facebook-for-woocommerce' ); ?>.</p>
183
  <?php
184
  }
185
  }
75
 
76
 
77
  /**
78
+ * Add field to Facebook Product Set new term
79
  *
80
  * @since 2.3.0
81
  */
90
 
91
 
92
  /**
93
+ * Add field to Facebook Product Set new term
94
  *
95
  * @since 2.3.0
96
  *
179
  <option value="<?php echo esc_attr( $product_cat->term_id ); ?>" <?php echo esc_attr( $selected ); ?>><?php echo esc_attr( $product_cat->name ); ?></option>
180
  <?php endforeach; ?>
181
  <select>
182
+ <p class="description"><?php echo esc_html__( 'Map Facebook Product Set to WC Product Categories', 'facebook-for-woocommerce' ); ?>.</p>
183
  <?php
184
  }
185
  }
includes/Admin/Settings.php CHANGED
@@ -29,6 +29,12 @@ class Settings {
29
  /** @var string base settings page ID */
30
  const PAGE_ID = 'wc-facebook';
31
 
 
 
 
 
 
 
32
 
33
  /** @var Abstract_Settings_Screen[] */
34
  private $screens;
@@ -60,9 +66,9 @@ class Settings {
60
 
61
  add_action( 'wp_loaded', array( $this, 'save' ) );
62
 
 
63
  }
64
 
65
-
66
  /**
67
  * Adds the Facebook menu item.
68
  *
@@ -101,8 +107,53 @@ class Settings {
101
 
102
  $this->connect_to_enhanced_admin( $is_marketing_enabled ? 'marketing_page_wc-facebook' : 'woocommerce_page_wc-facebook' );
103
  $this->register_woo_nav_menu_items();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  }
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
 
107
  /**
108
  * Enables enhanced admin support for the main Facebook settings page.
29
  /** @var string base settings page ID */
30
  const PAGE_ID = 'wc-facebook';
31
 
32
+ /**
33
+ * Submenu page ID
34
+ *
35
+ * @var string
36
+ */
37
+ const SUBMENU_PAGE_ID = 'edit-tags.php?taxonomy=fb_product_set&post_type=product';
38
 
39
  /** @var Abstract_Settings_Screen[] */
40
  private $screens;
66
 
67
  add_action( 'wp_loaded', array( $this, 'save' ) );
68
 
69
+ add_filter( 'parent_file', array( $this, 'set_parent_and_submenu_file' ) );
70
  }
71
 
 
72
  /**
73
  * Adds the Facebook menu item.
74
  *
107
 
108
  $this->connect_to_enhanced_admin( $is_marketing_enabled ? 'marketing_page_wc-facebook' : 'woocommerce_page_wc-facebook' );
109
  $this->register_woo_nav_menu_items();
110
+
111
+ if ( $is_marketing_enabled ) {
112
+ $this->add_fb_product_sets_to_marketing_menu();
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Checks for connection and if established adds Facebook Product Sets taxonomy page to the Marketing menu.
118
+ *
119
+ * @since 2.6.29
120
+ */
121
+ private function add_fb_product_sets_to_marketing_menu() {
122
+ $is_connected = facebook_for_woocommerce()->get_connection_handler()->is_connected();
123
+
124
+ // If a connection is not established, do not add Facebook Product Sets to Marketing menu.
125
+ if ( ! $is_connected ) {
126
+ return;
127
+ }
128
+
129
+ add_submenu_page(
130
+ 'woocommerce-marketing',
131
+ esc_html__( 'Facebook Product Sets', 'facebook-for-woocommerce' ),
132
+ esc_html__( 'Facebook Product Sets', 'facebook-for-woocommerce' ),
133
+ 'manage_woocommerce',
134
+ admin_url( self::SUBMENU_PAGE_ID ),
135
+ '',
136
+ 10
137
+ );
138
  }
139
 
140
+ /**
141
+ * Set the parent and submenu file while accessing Facebook Product Sets in the marketing menu.
142
+ *
143
+ * @since 2.6.29
144
+ * @param string $parent_file The parent file.
145
+ * @return string
146
+ */
147
+ public function set_parent_and_submenu_file( $parent_file ){
148
+ global $submenu_file, $current_screen;
149
+
150
+ if ( isset( $current_screen->taxonomy ) && 'fb_product_set' === $current_screen->taxonomy ) {
151
+ $parent_file = 'woocommerce-marketing';
152
+ $submenu_file = admin_url( self::SUBMENU_PAGE_ID );
153
+ }
154
+
155
+ return $parent_file;
156
+ }
157
 
158
  /**
159
  * Enables enhanced admin support for the main Facebook settings page.
includes/Admin/Tasks/Setup.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Set up Facebook task.
4
+ *
5
+ * Adds a set up facebook task to the task list.
6
+ *
7
+ * @package FacebookCommerce
8
+ */
9
+
10
+ namespace SkyVerge\WooCommerce\Facebook\Admin\Tasks;
11
+
12
+ defined( 'ABSPATH' ) || exit;
13
+
14
+ use Automattic\WooCommerce\Admin\Features\OnboardingTasks\Task;
15
+
16
+ /**
17
+ * Setup Task class.
18
+ */
19
+ class Setup extends Task {
20
+
21
+ /**
22
+ * Get the ID of the task.
23
+ *
24
+ * @return string
25
+ */
26
+ public function get_id() {
27
+ return 'setup-facebook';
28
+ }
29
+
30
+ /**
31
+ * Get the title for the task.
32
+ *
33
+ * @return string
34
+ */
35
+ public function get_title() {
36
+ return esc_html__( 'Set up Facebook for WooCommerce', 'facebook-for-woocommerce' );
37
+ }
38
+
39
+ /**
40
+ * Get the content for the task.
41
+ *
42
+ * @return string
43
+ */
44
+ public function get_content() {
45
+ return esc_html__( 'Sync your products and reach customers across Facebook, Instagram, Messenger and WhatsApp.', 'facebook-for-woocommerce' );
46
+ }
47
+
48
+ /**
49
+ * Get the time required to perform the task.
50
+ *
51
+ * @return string
52
+ */
53
+ public function get_time() {
54
+ return esc_html__( '20 minutes', 'facebook-for-woocommerce' );
55
+ }
56
+
57
+ /**
58
+ * Get the action URL for the task.
59
+ *
60
+ * @return string
61
+ */
62
+ public function get_action_url() {
63
+ return facebook_for_woocommerce()->get_settings_url();
64
+ }
65
+
66
+ /**
67
+ * Check if the task is complete.
68
+ *
69
+ * @return bool
70
+ */
71
+ public function is_complete() {
72
+ return facebook_for_woocommerce()->get_connection_handler()->is_connected();
73
+ }
74
+ }
includes/Handlers/Connection.php CHANGED
@@ -302,15 +302,23 @@ class Connection {
302
  facebook_for_woocommerce()->log( sprintf( 'Connection failed: %s', $exception->getMessage() ) );
303
 
304
  set_transient( 'wc_facebook_connection_failed', time(), 30 );
 
 
 
 
305
  } catch ( Connect_WC_API_Exception $exception ) {
306
  $message = $this->prepare_connect_server_message_for_user_display( $exception->getMessage() );
307
 
308
  facebook_for_woocommerce()->log( sprintf( 'Failed to connect to Facebook. Reason: %s', $message ), 'facebook_for_woocommerce_connect' );
309
 
310
  set_transient( 'wc_facebook_connection_failed', time(), 30 );
 
 
 
 
311
  }
312
 
313
- wp_safe_redirect( facebook_for_woocommerce()->get_settings_url() );
314
  exit;
315
  }
316
 
302
  facebook_for_woocommerce()->log( sprintf( 'Connection failed: %s', $exception->getMessage() ) );
303
 
304
  set_transient( 'wc_facebook_connection_failed', time(), 30 );
305
+
306
+ wp_safe_redirect( facebook_for_woocommerce()->get_settings_url() );
307
+ exit;
308
+
309
  } catch ( Connect_WC_API_Exception $exception ) {
310
  $message = $this->prepare_connect_server_message_for_user_display( $exception->getMessage() );
311
 
312
  facebook_for_woocommerce()->log( sprintf( 'Failed to connect to Facebook. Reason: %s', $message ), 'facebook_for_woocommerce_connect' );
313
 
314
  set_transient( 'wc_facebook_connection_failed', time(), 30 );
315
+
316
+ wp_safe_redirect( facebook_for_woocommerce()->get_settings_url() );
317
+ exit;
318
+
319
  }
320
 
321
+ wp_safe_redirect( facebook_for_woocommerce()->get_advertise_tab_url() );
322
  exit;
323
  }
324
 
includes/ProductSets/Sync.php CHANGED
@@ -309,7 +309,7 @@ class Sync {
309
  *
310
  * @since 2.3.0
311
  *
312
- * @param int $product_set_id FB Product Set Term ID.
313
  */
314
  public function maybe_sync_product_set( $product_set_id ) {
315
 
309
  *
310
  * @since 2.3.0
311
  *
312
+ * @param int $product_set_id Facebook Product Set Term ID.
313
  */
314
  public function maybe_sync_product_set( $product_set_id ) {
315
 
includes/Products.php CHANGED
@@ -1120,7 +1120,7 @@ class Products {
1120
  if ( self::get_enhanced_catalog_attribute( $attribute_key, $product ) === $value ) {
1121
  return;
1122
  }
1123
- $product->update_meta_data( self::ENHANCED_CATALOG_ATTRIBUTES_META_KEY_PREFIX . $attribute_key, $value );
1124
  $product->save_meta_data();
1125
  }
1126
 
1120
  if ( self::get_enhanced_catalog_attribute( $attribute_key, $product ) === $value ) {
1121
  return;
1122
  }
1123
+ $product->update_meta_data( self::ENHANCED_CATALOG_ATTRIBUTES_META_KEY_PREFIX . $attribute_key, wp_unslash( $value ) );
1124
  $product->save_meta_data();
1125
  }
1126
 
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: facebook, automattic, woothemes
3
  Tags: facebook, shop, catalog, advertise, pixel, product
4
  Requires at least: 4.4
5
- Tested up to: 6.0
6
- Stable tag: 2.6.28
7
  Requires PHP: 5.6 or greater
8
  MySQL: 5.6 or greater
9
  License: GPLv2 or later
@@ -39,6 +39,21 @@ When opening a bug on GitHub, please give us as many details as possible.
39
 
40
  == Changelog ==
41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  = 2.6.28 - 2022-10-25 =
43
  * Fix - Ensure bundles are not treated as virtual products on product_sync.
44
  * Fix - Ensure google-product-category-fields-loads.js loads only on the product category screens.
2
  Contributors: facebook, automattic, woothemes
3
  Tags: facebook, shop, catalog, advertise, pixel, product
4
  Requires at least: 4.4
5
+ Tested up to: 6.1
6
+ Stable tag: 2.6.29
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.29 - 2022-11-08 =
43
+ * Add - Facebook Product Set under the Marketing menu.
44
+ * Add - HPOS Compatibility.
45
+ * Add - Inbox note about Facebook menu moved under the Marketing menu.
46
+ * Add - Set up Facebook task to the WooCommerce admin tasks.
47
+ * Dev - Replaced methods from classes in the `Internal` namespace.
48
+ * Fix - Ensure the enhanced product enhance catalog attributes value is unslashed before saving in the post_meta table.
49
+ * Fix - Hosted Woo Updates.
50
+ * Fix - Release/2.6.28.
51
+ * Fix - duplicate InitiateCheckout when using checkout block.
52
+ * Tweak - WC 7.1 compatibility.
53
+ * Tweak - WP 6.1 compatibility.
54
+ * Update - FB Product Set name changed to Facebook Product Set.
55
+ * Update - On successful FBE install users will be redirected to Advertise tab of the plugin.
56
+
57
  = 2.6.28 - 2022-10-25 =
58
  * Fix - Ensure bundles are not treated as virtual products on product_sync.
59
  * Fix - Ensure google-product-category-fields-loads.js loads only on the product category screens.
vendor/autoload.php CHANGED
@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
- return ComposerAutoloaderInit64fdc836ada2ede409092ba18b2883e9::getLoader();
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
+ return ComposerAutoloaderInitc7e9be46944d9c79c6ae24f716f83948::getLoader();
vendor/composer/InstalledVersions.php CHANGED
@@ -28,7 +28,7 @@ class InstalledVersions
28
  {
29
  /**
30
  * @var mixed[]|null
31
- * @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
32
  */
33
  private static $installed;
34
 
@@ -39,7 +39,7 @@ class InstalledVersions
39
 
40
  /**
41
  * @var array[]
42
- * @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}>}>
43
  */
44
  private static $installedByVendor = array();
45
 
@@ -243,7 +243,7 @@ class InstalledVersions
243
 
244
  /**
245
  * @return array
246
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
247
  */
248
  public static function getRootPackage()
249
  {
@@ -257,7 +257,7 @@ class InstalledVersions
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
- * @psalm-return 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}>}
261
  */
262
  public static function getRawData()
263
  {
@@ -280,7 +280,7 @@ class InstalledVersions
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
- * @psalm-return list<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}>}>
284
  */
285
  public static function getAllRawData()
286
  {
@@ -303,7 +303,7 @@ class InstalledVersions
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
- * @psalm-param 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}>} $data
307
  */
308
  public static function reload($data)
309
  {
@@ -313,7 +313,7 @@ class InstalledVersions
313
 
314
  /**
315
  * @return array[]
316
- * @psalm-return list<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}>}>
317
  */
318
  private static function getInstalled()
319
  {
28
  {
29
  /**
30
  * @var mixed[]|null
31
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
32
  */
33
  private static $installed;
34
 
39
 
40
  /**
41
  * @var array[]
42
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
43
  */
44
  private static $installedByVendor = array();
45
 
243
 
244
  /**
245
  * @return array
246
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
247
  */
248
  public static function getRootPackage()
249
  {
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
261
  */
262
  public static function getRawData()
263
  {
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
284
  */
285
  public static function getAllRawData()
286
  {
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
307
  */
308
  public static function reload($data)
309
  {
313
 
314
  /**
315
  * @return array[]
316
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
317
  */
318
  private static function getInstalled()
319
  {
vendor/composer/autoload_classmap.php CHANGED
@@ -162,6 +162,7 @@ return array(
162
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Abstract_Settings_Screen' => $baseDir . '/includes/Admin/Abstract_Settings_Screen.php',
163
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Enhanced_Catalog_Attribute_Fields' => $baseDir . '/includes/Admin/Enhanced_Catalog_Attribute_Fields.php',
164
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Google_Product_Category_Field' => $baseDir . '/includes/Admin/Google_Product_Category_Field.php',
 
165
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Categories' => $baseDir . '/includes/Admin/Product_Categories.php',
166
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Sets' => $baseDir . '/includes/Admin/Product_Sets.php',
167
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Sync_Meta_Box' => $baseDir . '/includes/Admin/Product_Sync_Meta_Box.php',
@@ -172,6 +173,7 @@ return array(
172
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Messenger' => $baseDir . '/includes/Admin/Settings_Screens/Messenger.php',
173
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Product_Sets' => $baseDir . '/includes/Admin/Settings_Screens/Product_Sets.php',
174
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Product_Sync' => $baseDir . '/includes/Admin/Settings_Screens/Product_Sync.php',
 
175
  'SkyVerge\\WooCommerce\\Facebook\\Commerce' => $baseDir . '/includes/Commerce.php',
176
  'SkyVerge\\WooCommerce\\Facebook\\Commerce\\Orders' => $baseDir . '/includes/Commerce/Orders.php',
177
  'SkyVerge\\WooCommerce\\Facebook\\Debug\\ProfilingLogger' => $baseDir . '/includes/Debug/ProfilingLogger.php',
162
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Abstract_Settings_Screen' => $baseDir . '/includes/Admin/Abstract_Settings_Screen.php',
163
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Enhanced_Catalog_Attribute_Fields' => $baseDir . '/includes/Admin/Enhanced_Catalog_Attribute_Fields.php',
164
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Google_Product_Category_Field' => $baseDir . '/includes/Admin/Google_Product_Category_Field.php',
165
+ 'SkyVerge\\WooCommerce\\Facebook\\Admin\\Notes\\SettingsMoved' => $baseDir . '/includes/Admin/Notes/SettingsMoved.php',
166
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Categories' => $baseDir . '/includes/Admin/Product_Categories.php',
167
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Sets' => $baseDir . '/includes/Admin/Product_Sets.php',
168
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Sync_Meta_Box' => $baseDir . '/includes/Admin/Product_Sync_Meta_Box.php',
173
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Messenger' => $baseDir . '/includes/Admin/Settings_Screens/Messenger.php',
174
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Product_Sets' => $baseDir . '/includes/Admin/Settings_Screens/Product_Sets.php',
175
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Product_Sync' => $baseDir . '/includes/Admin/Settings_Screens/Product_Sync.php',
176
+ 'SkyVerge\\WooCommerce\\Facebook\\Admin\\Tasks\\Setup' => $baseDir . '/includes/Admin/Tasks/Setup.php',
177
  'SkyVerge\\WooCommerce\\Facebook\\Commerce' => $baseDir . '/includes/Commerce.php',
178
  'SkyVerge\\WooCommerce\\Facebook\\Commerce\\Orders' => $baseDir . '/includes/Commerce/Orders.php',
179
  'SkyVerge\\WooCommerce\\Facebook\\Debug\\ProfilingLogger' => $baseDir . '/includes/Debug/ProfilingLogger.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit64fdc836ada2ede409092ba18b2883e9
6
  {
7
  private static $loader;
8
 
@@ -24,12 +24,12 @@ class ComposerAutoloaderInit64fdc836ada2ede409092ba18b2883e9
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit64fdc836ada2ede409092ba18b2883e9', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit64fdc836ada2ede409092ba18b2883e9', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
- call_user_func(\Composer\Autoload\ComposerStaticInit64fdc836ada2ede409092ba18b2883e9::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitc7e9be46944d9c79c6ae24f716f83948
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInitc7e9be46944d9c79c6ae24f716f83948', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInitc7e9be46944d9c79c6ae24f716f83948', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
+ call_user_func(\Composer\Autoload\ComposerStaticInitc7e9be46944d9c79c6ae24f716f83948::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit64fdc836ada2ede409092ba18b2883e9
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
@@ -193,6 +193,7 @@ class ComposerStaticInit64fdc836ada2ede409092ba18b2883e9
193
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Abstract_Settings_Screen' => __DIR__ . '/../..' . '/includes/Admin/Abstract_Settings_Screen.php',
194
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Enhanced_Catalog_Attribute_Fields' => __DIR__ . '/../..' . '/includes/Admin/Enhanced_Catalog_Attribute_Fields.php',
195
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Google_Product_Category_Field' => __DIR__ . '/../..' . '/includes/Admin/Google_Product_Category_Field.php',
 
196
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Categories' => __DIR__ . '/../..' . '/includes/Admin/Product_Categories.php',
197
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Sets' => __DIR__ . '/../..' . '/includes/Admin/Product_Sets.php',
198
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Sync_Meta_Box' => __DIR__ . '/../..' . '/includes/Admin/Product_Sync_Meta_Box.php',
@@ -203,6 +204,7 @@ class ComposerStaticInit64fdc836ada2ede409092ba18b2883e9
203
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Messenger' => __DIR__ . '/../..' . '/includes/Admin/Settings_Screens/Messenger.php',
204
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Product_Sets' => __DIR__ . '/../..' . '/includes/Admin/Settings_Screens/Product_Sets.php',
205
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Product_Sync' => __DIR__ . '/../..' . '/includes/Admin/Settings_Screens/Product_Sync.php',
 
206
  'SkyVerge\\WooCommerce\\Facebook\\Commerce' => __DIR__ . '/../..' . '/includes/Commerce.php',
207
  'SkyVerge\\WooCommerce\\Facebook\\Commerce\\Orders' => __DIR__ . '/../..' . '/includes/Commerce/Orders.php',
208
  'SkyVerge\\WooCommerce\\Facebook\\Debug\\ProfilingLogger' => __DIR__ . '/../..' . '/includes/Debug/ProfilingLogger.php',
@@ -243,9 +245,9 @@ class ComposerStaticInit64fdc836ada2ede409092ba18b2883e9
243
  public static function getInitializer(ClassLoader $loader)
244
  {
245
  return \Closure::bind(function () use ($loader) {
246
- $loader->prefixLengthsPsr4 = ComposerStaticInit64fdc836ada2ede409092ba18b2883e9::$prefixLengthsPsr4;
247
- $loader->prefixDirsPsr4 = ComposerStaticInit64fdc836ada2ede409092ba18b2883e9::$prefixDirsPsr4;
248
- $loader->classMap = ComposerStaticInit64fdc836ada2ede409092ba18b2883e9::$classMap;
249
 
250
  }, null, ClassLoader::class);
251
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitc7e9be46944d9c79c6ae24f716f83948
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
193
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Abstract_Settings_Screen' => __DIR__ . '/../..' . '/includes/Admin/Abstract_Settings_Screen.php',
194
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Enhanced_Catalog_Attribute_Fields' => __DIR__ . '/../..' . '/includes/Admin/Enhanced_Catalog_Attribute_Fields.php',
195
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Google_Product_Category_Field' => __DIR__ . '/../..' . '/includes/Admin/Google_Product_Category_Field.php',
196
+ 'SkyVerge\\WooCommerce\\Facebook\\Admin\\Notes\\SettingsMoved' => __DIR__ . '/../..' . '/includes/Admin/Notes/SettingsMoved.php',
197
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Categories' => __DIR__ . '/../..' . '/includes/Admin/Product_Categories.php',
198
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Sets' => __DIR__ . '/../..' . '/includes/Admin/Product_Sets.php',
199
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Product_Sync_Meta_Box' => __DIR__ . '/../..' . '/includes/Admin/Product_Sync_Meta_Box.php',
204
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Messenger' => __DIR__ . '/../..' . '/includes/Admin/Settings_Screens/Messenger.php',
205
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Product_Sets' => __DIR__ . '/../..' . '/includes/Admin/Settings_Screens/Product_Sets.php',
206
  'SkyVerge\\WooCommerce\\Facebook\\Admin\\Settings_Screens\\Product_Sync' => __DIR__ . '/../..' . '/includes/Admin/Settings_Screens/Product_Sync.php',
207
+ 'SkyVerge\\WooCommerce\\Facebook\\Admin\\Tasks\\Setup' => __DIR__ . '/../..' . '/includes/Admin/Tasks/Setup.php',
208
  'SkyVerge\\WooCommerce\\Facebook\\Commerce' => __DIR__ . '/../..' . '/includes/Commerce.php',
209
  'SkyVerge\\WooCommerce\\Facebook\\Commerce\\Orders' => __DIR__ . '/../..' . '/includes/Commerce/Orders.php',
210
  'SkyVerge\\WooCommerce\\Facebook\\Debug\\ProfilingLogger' => __DIR__ . '/../..' . '/includes/Debug/ProfilingLogger.php',
245
  public static function getInitializer(ClassLoader $loader)
246
  {
247
  return \Closure::bind(function () use ($loader) {
248
+ $loader->prefixLengthsPsr4 = ComposerStaticInitc7e9be46944d9c79c6ae24f716f83948::$prefixLengthsPsr4;
249
+ $loader->prefixDirsPsr4 = ComposerStaticInitc7e9be46944d9c79c6ae24f716f83948::$prefixDirsPsr4;
250
+ $loader->classMap = ComposerStaticInitc7e9be46944d9c79c6ae24f716f83948::$classMap;
251
 
252
  }, null, ClassLoader::class);
253
  }
vendor/composer/installed.php CHANGED
@@ -1,31 +1,31 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => 'dev-release/2.6.28',
4
- 'version' => 'dev-release/2.6.28',
 
 
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => 'f4171ac3f89f5a98022ad1d6efeb58aea0ee9f3d',
9
- 'name' => 'facebookincubator/facebook-for-woocommerce',
10
  'dev' => false,
11
  ),
12
  'versions' => array(
13
  'composer/installers' => array(
14
  'pretty_version' => 'v1.12.0',
15
  'version' => '1.12.0.0',
 
16
  'type' => 'composer-plugin',
17
  'install_path' => __DIR__ . '/./installers',
18
  'aliases' => array(),
19
- 'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
20
  'dev_requirement' => false,
21
  ),
22
  'facebookincubator/facebook-for-woocommerce' => array(
23
- 'pretty_version' => 'dev-release/2.6.28',
24
- 'version' => 'dev-release/2.6.28',
 
25
  'type' => 'wordpress-plugin',
26
  'install_path' => __DIR__ . '/../../',
27
  'aliases' => array(),
28
- 'reference' => 'f4171ac3f89f5a98022ad1d6efeb58aea0ee9f3d',
29
  'dev_requirement' => false,
30
  ),
31
  'roundcube/plugin-installer' => array(
@@ -43,19 +43,19 @@
43
  'skyverge/wc-plugin-framework' => array(
44
  'pretty_version' => '5.10.0',
45
  'version' => '5.10.0.0',
 
46
  'type' => 'library',
47
  'install_path' => __DIR__ . '/../skyverge/wc-plugin-framework',
48
  'aliases' => array(),
49
- 'reference' => 'e230d7c40286854e49c0cafeec3398cbf2427a64',
50
  'dev_requirement' => false,
51
  ),
52
  'woocommerce/action-scheduler-job-framework' => array(
53
  'pretty_version' => '2.0.0',
54
  'version' => '2.0.0.0',
 
55
  'type' => 'library',
56
  'install_path' => __DIR__ . '/../woocommerce/action-scheduler-job-framework',
57
  'aliases' => array(),
58
- 'reference' => 'b0b21b9cc87e476ba7f8817050b39274ea7d6732',
59
  'dev_requirement' => false,
60
  ),
61
  ),
1
  <?php return array(
2
  'root' => array(
3
+ 'name' => 'facebookincubator/facebook-for-woocommerce',
4
+ 'pretty_version' => 'dev-develop',
5
+ 'version' => 'dev-develop',
6
+ 'reference' => '692d89137099fb53086453f94f7ded67c69a1806',
7
  'type' => 'wordpress-plugin',
8
  'install_path' => __DIR__ . '/../../',
9
  'aliases' => array(),
 
 
10
  'dev' => false,
11
  ),
12
  'versions' => array(
13
  'composer/installers' => array(
14
  'pretty_version' => 'v1.12.0',
15
  'version' => '1.12.0.0',
16
+ 'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
17
  'type' => 'composer-plugin',
18
  'install_path' => __DIR__ . '/./installers',
19
  'aliases' => array(),
 
20
  'dev_requirement' => false,
21
  ),
22
  'facebookincubator/facebook-for-woocommerce' => array(
23
+ 'pretty_version' => 'dev-develop',
24
+ 'version' => 'dev-develop',
25
+ 'reference' => '692d89137099fb53086453f94f7ded67c69a1806',
26
  'type' => 'wordpress-plugin',
27
  'install_path' => __DIR__ . '/../../',
28
  'aliases' => array(),
 
29
  'dev_requirement' => false,
30
  ),
31
  'roundcube/plugin-installer' => array(
43
  'skyverge/wc-plugin-framework' => array(
44
  'pretty_version' => '5.10.0',
45
  'version' => '5.10.0.0',
46
+ 'reference' => 'e230d7c40286854e49c0cafeec3398cbf2427a64',
47
  'type' => 'library',
48
  'install_path' => __DIR__ . '/../skyverge/wc-plugin-framework',
49
  'aliases' => array(),
 
50
  'dev_requirement' => false,
51
  ),
52
  'woocommerce/action-scheduler-job-framework' => array(
53
  'pretty_version' => '2.0.0',
54
  'version' => '2.0.0.0',
55
+ 'reference' => 'b0b21b9cc87e476ba7f8817050b39274ea7d6732',
56
  'type' => 'library',
57
  'install_path' => __DIR__ . '/../woocommerce/action-scheduler-job-framework',
58
  'aliases' => array(),
 
59
  'dev_requirement' => false,
60
  ),
61
  ),