admin-menus
1 week ago
currencies
1 week ago
template-classes
1 week ago
translation-editor
1 week ago
class-wcml-ajax-setup.php
1 week ago
class-wcml-attributes.php
1 week ago
class-wcml-capabilities.php
1 week ago
class-wcml-cart-removed-items-widget.php
1 year ago
class-wcml-cart-switch-lang-functions.php
1 week ago
class-wcml-cart-sync-warnings.php
1 week ago
class-wcml-cart.php
1 week ago
class-wcml-comments.php
1 week ago
class-wcml-compatibility.php
1 week ago
class-wcml-coupons.php
1 week ago
class-wcml-dependencies.php
1 week ago
class-wcml-emails.php
1 week ago
class-wcml-endpoints.php
1 week ago
class-wcml-install.php
1 week ago
class-wcml-languages-upgrader.php
1 week ago
class-wcml-locale.php
1 week ago
class-wcml-orders.php
1 week ago
class-wcml-products-screen-options.php
1 week ago
class-wcml-products.php
1 week ago
class-wcml-reports.php
1 week ago
class-wcml-requests.php
1 week ago
class-wcml-resources.php
1 week ago
class-wcml-store-pages.php
1 week ago
class-wcml-terms.php
1 week ago
class-wcml-tp-support.php
1 week ago
class-wcml-troubleshooting.php
1 week ago
class-wcml-upgrade.php
1 week ago
class-wcml-url-translation.php
1 week ago
class-wcml-wc-gateways.php
1 week ago
class-wcml-wc-shipping.php
1 week ago
class-wcml-wc-strings.php
1 week ago
class-wcml-widgets.php
1 week ago
constants.php
1 week ago
functions-pure.php
1 week ago
functions.php
1 week ago
installer-loader.php
1 week ago
missing-php-functions.php
1 week ago
wcml-core-functions.php
1 week ago
wcml-switch-lang-request.php
1 week ago
class-wcml-compatibility.php
76 lines
| 1 | <?php |
| 2 | |
| 3 | use WPML\FP\Lst; |
| 4 | use WPML\FP\Logic; |
| 5 | use WPML\FP\Relation; |
| 6 | use function WCML\functions\getWooCommerceWpml; |
| 7 | |
| 8 | class WCML_Compatibility { |
| 9 | |
| 10 | public function init_before_multicurrency() { |
| 11 | $loaders = wpml_collect( [ |
| 12 | \WCML\Compatibility\WpSuperCache\Factory::class => function_exists( 'wp_cache_is_enabled' ) && wp_cache_is_enabled(), |
| 13 | ] )->filter( Logic::isTruthy() ) |
| 14 | ->keys() |
| 15 | ->toArray(); |
| 16 | |
| 17 | $loaders = Lst::append( \WCML\AdminNotices\CachePlugins::class, $loaders ); |
| 18 | |
| 19 | ( new \WCML\StandAlone\ActionFilterLoader() )->load( $loaders ); |
| 20 | } |
| 21 | |
| 22 | public function init() { |
| 23 | require_once ABSPATH . 'wp-admin/includes/plugin.php'; |
| 24 | |
| 25 | $isActiveTheme = Relation::equals( wp_get_theme()->get( 'Name' ) ); |
| 26 | |
| 27 | $loaders = wpml_collect( [ |
| 28 | \WCML\Compatibility\WcTabManager\Factory::class => class_exists( 'WC_Tab_Manager' ), |
| 29 | \WCML\Compatibility\TableRateShipping\Factory::class => defined( 'TABLE_RATE_SHIPPING_VERSION' ), |
| 30 | \WCML\Compatibility\WcSubscriptions\Factory::class => class_exists( 'WC_Subscriptions' ), |
| 31 | \WCML\Compatibility\WcNameYourPrice\Factory::class => class_exists( 'WC_Name_Your_Price' ), |
| 32 | \WCML\Compatibility\WcProductBundles\Factory::class => class_exists( 'WC_Product_Bundle' ) && function_exists( 'WC_PB' ), |
| 33 | \WCML\Compatibility\WcSwatches\Factory::class => class_exists( 'WC_SwatchesPlugin' ), |
| 34 | \WCML\Compatibility\WcProductAddons\Factory::class => defined( 'WC_PRODUCT_ADDONS_VERSION' ) || class_exists( 'Product_Addon_Display' ), |
| 35 | \WCML\Compatibility\PerProductShipping\Factory::class => defined( 'PER_PRODUCT_SHIPPING_VERSION' ), |
| 36 | \WCML\Compatibility\WcExporter\Factory::class => defined( 'WOO_CE_PATH' ), |
| 37 | \WCML\Compatibility\GravityForms\Factory::class => class_exists( 'GFForms' ), |
| 38 | \WCML\Compatibility\Sensei\Factory::class => class_exists( 'WooThemes_Sensei' ), |
| 39 | \WCML\Compatibility\TmExtraProductOptions\Factory::class => class_exists( 'TM_Extra_Product_Options' ), |
| 40 | \WCML\Compatibility\WcDynamicPricing\Factory::class => class_exists( 'WC_Dynamic_Pricing' ), |
| 41 | \WCML\Compatibility\WcBookings\Factory::class => defined( 'WC_BOOKINGS_VERSION' ) && version_compare( WC_BOOKINGS_VERSION, '1.7.8', '>=' ), |
| 42 | \WCML\Compatibility\WoobeBulkEditor\Factory::class => defined( 'WOOBE_PATH' ), |
| 43 | \WCML\Compatibility\WcCheckoutFieldEditor\Factory::class => function_exists( 'woocommerce_init_checkout_field_editor' ), |
| 44 | \WCML\Compatibility\WcBulkStockManagement\Factory::class => class_exists( 'WC_Bulk_Stock_Management' ), |
| 45 | \WCML\Compatibility\WcAjaxLayeredNav\Factory::class => is_plugin_active( 'woocommerce-ajax-layered-nav/ajax_layered_nav-widget.php' ), |
| 46 | \WCML\Compatibility\WcCompositeProducts\Factory::class => isset( $GLOBALS['woocommerce_composite_products'] ), |
| 47 | \WCML\Compatibility\WcCheckoutAddons\Factory::class => class_exists( 'WC_Checkout_Add_Ons_Loader' ), |
| 48 | \WCML\Compatibility\WcMixAndMatch\Factory::class => class_exists( 'WC_Mix_and_Match' ), |
| 49 | \WCML\Compatibility\WpSeo\Factory::class => defined( 'WPSEO_VERSION' ), |
| 50 | \WCML\Compatibility\AdventureTours\Factory::class => function_exists( 'adventure_tours_check' ), |
| 51 | \WCML\Compatibility\Flatsome\Factory::class => $isActiveTheme( 'Flatsome' ), |
| 52 | \WCML\Compatibility\Aurum\Factory::class => $isActiveTheme( 'Aurum' ), |
| 53 | \WCML\Compatibility\WcShowSingleVariations\Factory::class => defined( 'JCK_WSSV_PATH' ), |
| 54 | \WCML\Compatibility\WcPip\Factory::class => class_exists( 'WC_PIP' ), |
| 55 | \WCML\Compatibility\TheEventsCalendar\Factory::class => class_exists( 'Tribe__Events__Main' ), |
| 56 | \WCML\Compatibility\KlarnaPayments\Factory::class => class_exists( 'WC_Gateway_Klarna' ), |
| 57 | \WCML\Compatibility\YithWcQuickView\Factory::class => class_exists( 'YITH_WCQV' ), |
| 58 | \WCML\Compatibility\WcMemberships\Factory::class => class_exists( 'WC_Memberships' ), |
| 59 | \WCML\Compatibility\MaxStorePro\Factory::class => function_exists( 'maxstore_pro_setup' ), |
| 60 | \WCML\Compatibility\WpBakery\Factory::class => defined( 'WPB_VC_VERSION' ), |
| 61 | \WCML\Compatibility\WoofWcProductFilter\Factory::class => defined( 'WOOF_PLUGIN_NAME' ), |
| 62 | \WCML\Compatibility\Relevanssi\Factory::class => function_exists( 'relevanssi_insert_edit' ), |
| 63 | \WCML\Compatibility\WooVariationsTable\Factory::class => defined( 'WOO_VARIATIONS_TABLE_VERSION' ), |
| 64 | \WCML\Compatibility\WpFastestCache\Factory::class => class_exists( 'WpFastestCache' ), |
| 65 | \WCML\Compatibility\WcProductTypeColumn\Factory::class => class_exists( 'WC_Product_Type_Column' ), |
| 66 | \WCML\Compatibility\YikesCustomProductTabs\Factory::class => class_exists( 'YIKES_Custom_Product_Tabs' ), |
| 67 | \WCML\Compatibility\WcOrderStatusManager\Factory::class => class_exists( 'WC_Order_Status_Manager' ), |
| 68 | \WCML\Compatibility\FacebookForWc\Factory::class => class_exists( WC_Facebookcommerce::class ), |
| 69 | ] )->filter( Logic::isTruthy() ) |
| 70 | ->keys() |
| 71 | ->toArray(); |
| 72 | |
| 73 | ( new \WCML\StandAlone\ActionFilterLoader() )->load( $loaders ); |
| 74 | } |
| 75 | } |
| 76 |