*/ class ThirdPartyCompatibility { public function __construct() { add_action( 'init', [ $this, 'register_actions_on_init' ], 0 ); add_action( 'admin_init', [ $this, 'register_actions_on_admin_init' ], 0 ); $this->enqueue_scripts(); add_action( 'admin_enqueue_scripts', [ $this, 'jltwp_adminify_reset_theme_conflicts' ] ); } public function jltwp_adminify_reset_theme_conflicts() { $theme = wp_get_theme(); //Neve WordPress Theme if ( 'Neve' == $theme->name || 'Neve' == $theme->parent_theme ) { wp_enqueue_style( 'wp-adminify_neve-theme', WP_ADMINIFY_ASSETS . 'css/themes/neve.css', false, WP_ADMINIFY_VER ); } } public function register_actions_on_init() { // Brizy Builder if ( isset( $_REQUEST['brizy-edit-iframe'] ) ) { add_filter( 'wp_adminify_defer_skip', '__return_true' ); add_filter( 'wp_adminify_skip_removing_dashicons', '__return_true' ); } } public function register_actions_on_admin_init() { add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ], 999 ); add_filter( 'adminify_third_party_styles', [ $this, 'register_compatability_styles' ] ); // Fluent CRM add_action( 'fluentcrm_skip_no_conflict', '__return_true' ); // Fluent FORM add_action( 'fluentform_skip_no_conflict', '__return_true' ); } /** * Register Third Party Styles * @since 1.0.0 */ public function register_compatability_styles( $plugin_supports ) { if ( !is_array( $plugin_supports ) ) { $plugin_supports = array(); } $plugin_dir = WP_ADMINIFY_ASSETS . 'css/plugins/'; $pro_plugin_dir = WP_ADMINIFY_URL . 'Pro/assets/css/plugins/'; $plugin_supports['jetpack'] = $plugin_dir . 'jetpack.css'; $plugin_supports['akismet'] = $plugin_dir . 'akismet.css'; // Page Builders & Metabox $plugin_supports['gutenberg'] = $plugin_dir . 'gutenberg.css'; $plugin_supports['elementor'] = $plugin_dir . 'elementor.css'; $plugin_supports['siteorigin-page-builder'] = $plugin_dir . 'siteorigin-page-builder.css'; $plugin_supports['google-site-kit'] = $plugin_dir . 'google-site-kit.css'; $plugin_supports['meta-box'] = $plugin_dir . 'meta-box.css'; $plugin_supports['breeze'] = $plugin_dir . 'breeze.css'; $plugin_supports['codepress-admin-columns'] = $plugin_dir . 'codepress-admin-columns.css'; $plugin_supports['admin-menu-editor'] = $plugin_dir . 'admin-menu-editor.css'; // $plugin_supports['admin-menu-editor-pro'] = $plugin_dir . 'admin-menu-editor-pro.css'; $plugin_supports['master-addons'] = $plugin_dir . 'master-addons.css'; $plugin_supports['advanced-custom-fields'] = $plugin_dir . 'advanced-custom-fields.css'; // $plugin_supports['advanced-custom-fields-pro'] = $plugin_dir . 'advanced-custom-fields-pro.css'; //Customizer $plugin_supports['loginpress'] = $plugin_dir . 'loginpress.css'; // $plugin_supports['easy-digital-downloads'] = $plugin_dir . 'easy-digital-downloads.css'; // Security & Performance Plugins $plugin_supports['wp-security-audit-log'] = $plugin_dir . 'wp-security-audit-log.css'; $plugin_supports['wordfence'] = $plugin_dir . 'wordfence.css'; $plugin_supports['litespeed-cache'] = $plugin_dir . 'litespeed-cache.css'; $plugin_supports['w3-total-cache'] = $plugin_dir . 'w3-total-cache.css'; $plugin_supports['wp-super-cache'] = $plugin_dir . 'wp-super-cache.css'; $plugin_supports['limit-login-attempts'] = $plugin_dir . 'limit-login-attempts.css'; $plugin_supports['autoptimize'] = $plugin_dir . 'autoptimize.css'; $plugin_supports['disable-comments'] = $plugin_dir . 'disable-comments.css'; $plugin_supports['better-search-replace'] = $plugin_dir . 'better-search-replace.css'; $plugin_supports['better-wp-security'] = $plugin_dir . 'better-wp-security.css'; $plugin_supports['wp-rocket'] = $plugin_dir . 'wp-rocket.css'; $plugin_supports['hide-my-wp'] = $plugin_dir . 'hide-my-wp.css'; $plugin_supports['swift-performance-lite'] = $plugin_dir . 'swift-performance-lite.css'; // Forum & Social Plugins $plugin_supports['bbpress'] = $plugin_dir . 'bbpress.css'; $plugin_supports['buddy-press'] = $plugin_dir . 'buddy-press.css'; $plugin_supports['instagram-feed'] = $plugin_dir . 'instagram-feed.css'; $plugin_supports['custom-facebook-feed'] = $plugin_dir . 'custom-facebook-feed.css'; // Forms Plugins $plugin_supports['contact-form-7'] = $plugin_dir . 'contact-form-7.css'; $plugin_supports['forminator-contact-form'] = $plugin_dir . 'forminator-contact-form.css'; $plugin_supports['wpforms-lite'] = $plugin_dir . 'wpforms.css'; $plugin_supports['wpforms'] = $plugin_dir . 'wpforms.css'; $plugin_supports['weforms'] = $plugin_dir . 'weforms.css'; $plugin_supports['aio-contact-lite'] = $plugin_dir . 'aio-contact-lite.css'; // $plugin_supports['ninja-forms'] = $plugin_dir . 'ninja-forms.css'; // Themes // SEO Plugins $plugin_supports['seo-by-rank-math'] = $plugin_dir . 'seo-by-rank-math.css'; $plugin_supports['yoast-seo'] = $plugin_dir . 'wordpress-seo.css'; $plugin_supports['yoast-duplicate'] = $plugin_dir . 'yoast-duplicate.css'; $plugin_supports['redirection'] = $plugin_dir . 'redirection.css'; $plugin_supports['wordpress-seo'] = $plugin_dir . 'wordpress-seo.css'; $plugin_supports['wp-seopress'] = $plugin_dir . 'wp-seopress.css'; $plugin_supports['all-in-one-seo-pack'] = $plugin_dir . 'all-in-one-seo-pack.css'; $plugin_supports['xml-sitemap'] = $plugin_dir . 'xml-sitemap.css'; $plugin_supports['duplicate-page'] = $plugin_dir . 'duplicate-page.css'; $plugin_supports['google-analytics-for-wordpress'] = $plugin_dir . 'monster-insights-for-google-analytics.css'; // Backup Pluins $plugin_supports['updrafts-backup'] = $plugin_dir . 'updrafts-backup.css'; $plugin_supports['updraftplus'] = $plugin_dir . 'updraftplus.css'; $plugin_supports['all-in-one-wp-migration'] = $plugin_dir . 'all-in-one-wp-migration.css'; $plugin_supports['wp-rocket'] = $plugin_dir . 'wp-rocket.css'; $plugin_supports['duplicate-wp-migration'] = $plugin_dir . 'duplicate-wp-migration.css'; $plugin_supports['backup'] = $plugin_dir . 'backup.css'; // Mailing Service $plugin_supports['mailpoet'] = $plugin_dir . 'mailpoet.css'; $plugin_supports['mc4wp-mailchimp'] = $plugin_dir . 'mc4wp-mailchimp.css'; // Icons $plugin_supports['font-awesome'] = $plugin_dir . 'font-awesome.css'; // Blog / Post Related $plugin_supports['fakerpress'] = $plugin_dir . 'fakerpress.css'; $plugin_supports['post-types-order'] = $plugin_dir . 'post-types-order.css'; // Others $plugin_supports['modern-events-calendar-lite'] = $plugin_dir . 'modern-events-calendar-lite.css'; $plugin_supports['google-calendar-events'] = $plugin_dir . 'google-calendar-events.css'; // $plugin_supports['sfwd-lms'] = $plugin_dir . 'sfwd-lms.css'; // $plugin_supports['visualizer'] = $plugin_dir . 'visualizer.css'; // $plugin_supports['wpdatatables'] = $plugin_dir . 'wpdatatables.css'; $plugin_supports['cookie-notice'] = $plugin_dir . 'cookie-notice.css'; $plugin_supports['loco-translate'] = $plugin_dir . 'loco-translate.css'; $plugin_supports['insert-header-footer'] = $plugin_dir . 'insert-header-footer.css'; $plugin_supports['custom-post-type-ui'] = $plugin_dir . 'custom-post-type-ui.css'; $plugin_supports['notificationx'] = $plugin_dir . 'notificationx.css'; $plugin_supports['antispam-bee'] = $plugin_dir . 'antispam-bee.css'; $plugin_supports['filebird'] = $plugin_dir . 'filebird.css'; $plugin_supports['folders'] = $plugin_dir . 'folders.css'; $plugin_supports['media-library-plus'] = $plugin_dir . 'media-library-plus.css'; $plugin_supports['wp-media-folders'] = $plugin_dir . 'wp-media-folders.css'; $plugin_supports['wicked-folders'] = $plugin_dir . 'wicked-folders.css'; $plugin_supports['real-media-library-lite'] = $plugin_dir . 'real-media-library-lite.css'; $plugin_supports['real-category-library-lite'] = $plugin_dir . 'real-category-library-lite.css'; return $plugin_supports; } /** * Admin Enqueue Third Party Scripts/Styles * * @return void */ public function enqueue_scripts() { $plugin_supports = array(); $plugin_supports = apply_filters( 'adminify_third_party_styles', $plugin_supports ); // Check Plugin Activated for Site Wide if ( is_multisite() ) { $active_plugins = get_site_option( 'active_sitewide_plugins' ); foreach ( $active_plugins as $active_path => $active_plugin ) { if ( is_plugin_active_for_network( $active_path ) ) { $string = explode( '/', $active_path ); $pluginname = $string[0]; if ( isset( $plugin_supports[$pluginname] ) ) { if ( $plugin_supports[$pluginname] != "" ) { wp_register_style( 'wp-adminify_site-wide_' . $pluginname . '_css', $plugin_supports[$pluginname], array(), WP_ADMINIFY_VER ); wp_enqueue_style( 'wp-adminify_site-wide_' . $pluginname . '_css' ); } } } } } // Check Plugin Activated for Individual Sites $activeplugins = get_option( 'active_plugins' ); foreach ( $activeplugins as $plugin ) { if ( Utils::is_plugin_active( $plugin ) ) { $string = explode( '/', $plugin ); $pluginname = $string[0]; if ( isset( $plugin_supports[$pluginname] ) ) { if ( $plugin_supports[$pluginname] != "" ) { wp_register_style( 'wp-adminify_' . $pluginname . '_css', $plugin_supports[$pluginname], array(), WP_ADMINIFY_VER ); wp_enqueue_style( 'wp-adminify_' . $pluginname . '_css' ); } } } } } }