.smart-button-location-notice' => static function (ContainerInterface $container): string { $dcc_configuration = $container->get('wcgateway.configuration.card-configuration'); assert($dcc_configuration instanceof CardPaymentsConfiguration); if ($dcc_configuration->use_fastlane()) { $fastlane_settings_url = admin_url(sprintf('admin.php?page=wc-settings&tab=checkout§ion=%1$s&ppcp-tab=%2$s#field-axo_heading', PayPalGateway::ID, CreditCardGateway::ID)); $notice_content = sprintf( /* translators: %1$s: URL to the Checkout edit page. */ __('Important: The Cart & Classic Cart Smart Button Locations cannot be disabled while Fastlane is active.', 'woocommerce-paypal-payments'), esc_url($fastlane_settings_url) ); } else { return ''; } return '

' . $notice_content . '

'; }, 'axo.endpoint.frontend-logger' => static function (ContainerInterface $container): \WooCommerce\PayPalCommerce\Axo\FrontendLoggerEndpoint { return new \WooCommerce\PayPalCommerce\Axo\FrontendLoggerEndpoint($container->get('button.request-data'), $container->get('woocommerce.logger.woocommerce')); }, /** * The list of Fastlane incompatible plugins. * * @returns array */ 'axo.fastlane-incompatible-plugins' => static function (): array { /** * Filters the list of Fastlane incompatible plugins. */ return apply_filters('woocommerce_paypal_payments_fastlane_incompatible_plugins', array(array('name' => 'Elementor', 'is_active' => did_action('elementor/loaded')), array('name' => 'CheckoutWC', 'is_active' => defined('CFW_NAME')), array('name' => 'Direct Checkout for WooCommerce', 'is_active' => defined('QLWCDC_PLUGIN_NAME')), array('name' => 'Multi-Step Checkout for WooCommerce', 'is_active' => class_exists('WPMultiStepCheckout')), array('name' => 'Fluid Checkout for WooCommerce', 'is_active' => class_exists('FluidCheckout')), array('name' => 'MultiStep Checkout for WooCommerce', 'is_active' => class_exists('THWMSCF_Multistep_Checkout')), array('name' => 'WooCommerce Subscriptions', 'is_active' => class_exists('WC_Subscriptions')), array('name' => 'CartFlows', 'is_active' => class_exists('Cartflows_Loader')), array('name' => 'FunnelKit Funnel Builder', 'is_active' => class_exists('WFFN_Core')), array('name' => 'WooCommerce One Page Checkout', 'is_active' => class_exists('PP_One_Page_Checkout')), array('name' => 'All Products for Woo Subscriptions', 'is_active' => class_exists('WCS_ATT')))); }, 'axo.fastlane-incompatible-plugin-names' => static function (ContainerInterface $container): array { $incompatible_plugins = $container->get('axo.fastlane-incompatible-plugins'); $active_plugins_list = array_filter($incompatible_plugins, function (array $plugin): bool { return (bool) $plugin['is_active']; }); if (empty($active_plugins_list)) { return array(); } return array_map(function (array $plugin): string { return "
  • {$plugin['name']}
  • "; }, $active_plugins_list); }, 'axo.shipping-wc-enabled-locations' => static function (ContainerInterface $container) { $default_zone = new \WC_Shipping_Zone(0); if (!empty($default_zone->get_shipping_methods(\true))) { return array(); } $shipping_zones = \WC_Shipping_Zones::get_zones(); $get_zone_locations = fn(\WC_Shipping_Zone $zone): array => !empty($zone->get_shipping_methods(\true)) ? array_map(fn(object $location): string => $location->code, $zone->get_zone_locations()) : array(); return array_unique(array_merge(...array_map($get_zone_locations, array_map(fn($zone): \WC_Shipping_Zone => $zone instanceof \WC_Shipping_Zone ? $zone : new \WC_Shipping_Zone($zone['id']), $shipping_zones)))); }, );