PluginProbe ʕ •ᴥ•ʔ
ElementsKit Elementor Addons – Advanced Widgets & Templates Addons for Elementor / 3.9.9
ElementsKit Elementor Addons – Advanced Widgets & Templates Addons for Elementor v3.9.9
4.0.2 4.0.1 4.0.0 3.10.02 3.10.01 3.9.10 3.9.9 3.9.8 3.9.7 3.9.5 3.9.6 3.9.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.3.1 2.3.1.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.4.0 2.5.0 2.5.1 2.5.10 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.5 2.8.6 2.8.7 2.8.8 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 3.4.9 3.5.0 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.6.0 3.6.1 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.9.0 3.9.1 3.9.2 trunk 1.2.6 1.2.7 1.2.9 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.2 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.0.9.1 2.0.9.2 2.0.9.3
elementskit-lite / widgets / init / enqueue-scripts.php
elementskit-lite / widgets / init Last commit date
assets 2 months ago enqueue-scripts.php 2 months ago
enqueue-scripts.php
168 lines
1 <?php
2 namespace ElementsKit_Lite\Widgets\Init;
3 use ElementsKit_Lite\Libs\Framework\Attr;
4
5 defined( 'ABSPATH' ) || exit;
6
7 class Enqueue_Scripts {
8
9 public function __construct() {
10 add_action( 'elementor/frontend/after_register_scripts', [$this, 'register_scripts'], 9 );
11 add_action( 'elementor/frontend/after_enqueue_scripts', [$this, 'enqueue_scripts'] );
12
13 add_action( 'elementor/frontend/after_register_styles', [$this, 'register_frontend_css'] );
14 add_action( 'wp_enqueue_scripts', [$this, 'enqueue_frontend_css'], 99 );
15
16 add_action( 'elementor/preview/enqueue_styles', [ $this, 'enqueue_3rd_party_style' ] );
17 add_action( 'elementor/editor/after_enqueue_styles', [$this, 'elementor_editor_css'] );
18 }
19
20 public function is_plugin_active($plugin) {
21 return in_array( $plugin, (array) get_option( 'active_plugins', array() ), true ) || $this->is_plugin_active_for_network( $plugin );
22 }
23
24 public function is_plugin_active_for_network($plugin) {
25 if ( ! is_multisite() ) {
26 return false;
27 }
28
29 $plugins = get_site_option( 'active_sitewide_plugins' );
30 if ( isset( $plugins[ $plugin ] ) ) {
31 return true;
32 }
33
34 return false;
35 }
36
37 public function register_scripts() {
38 if( is_admin() ) {
39 return;
40 }
41
42 // register script for gallery, video gallery
43 wp_register_script('gallery-filter', \ElementsKit_Lite::widget_url() . 'init/assets/js/gallery-filter.js', array('jquery'), \ElementsKit_Lite::version(), true);
44
45 // register script for countdown timer
46 wp_register_script( 'final-countdown', \ElementsKit_Lite::widget_url() . 'init/assets/js/jquery.countdown.min.js', array(), \ElementsKit_Lite::version(), true );
47
48 // register script for piechart
49 wp_register_script( 'easy-pie-chart', \ElementsKit_Lite::widget_url() . 'init/assets/js/jquery.easypiechart.min.js', array(), \ElementsKit_Lite::version(), true );
50
51 // register script for magnific-popup
52 wp_register_script( 'magnific-popup', \ElementsKit_Lite::widget_url() . 'init/assets/js/jquery.magnific-popup.min.js', array(), \ElementsKit_Lite::version(), true );
53
54 // Core most of the widgets init are bundled
55 wp_enqueue_script( 'ekit-widget-scripts', \ElementsKit_Lite::widget_url() . 'init/assets/js/widget-scripts.js', array(), \ElementsKit_Lite::version(), true );
56
57 // register script for mailchimp
58 wp_register_script( 'ekit-mailchimp', \ElementsKit_Lite::widget_url() . 'init/assets/js/mail-chimp.js', array(), \ElementsKit_Lite::version(), true );
59
60 // register script for pricing table
61 wp_register_script( 'ekit-info-tip', \ElementsKit_Lite::widget_url() . 'init/assets/js/info-tip.js', array(), \ElementsKit_Lite::version(), true );
62
63 // sosial share
64 wp_register_script( 'goodshare', \ElementsKit_Lite::widget_url() . 'init/assets/js/goodshare.min.js', array( 'jquery' ), \ElementsKit_Lite::version(), true );
65
66 // funfact widget
67 wp_register_script( 'odometer', \ElementsKit_Lite::widget_url() . 'init/assets/js/odometer.min.js', array('jquery'), \ElementsKit_Lite::version(), true );
68
69 // Animate Circle Script
70 wp_register_script( 'animate-circle', \ElementsKit_Lite::widget_url() . 'init/assets/js/animate-circle.min.js', [], \ElementsKit_Lite::version(), true );
71
72 // Register split Elementor widget scripts.
73 wp_register_script( 'ekit-core', \ElementsKit_Lite::widget_url() . 'init/assets/js/widgets/core.js', ['jquery', 'elementor-frontend'], \ElementsKit_Lite::version(), true );
74 wp_register_script( 'ekit-admin-toolbar', \ElementsKit_Lite::widget_url() . 'init/assets/js/widgets/admin-toolbar.js', ['jquery'], \ElementsKit_Lite::version(), true );
75 wp_register_script( 'ekit-animate-numbers', \ElementsKit_Lite::widget_url() . 'init/assets/js/widgets/animate-numbers.js', ['jquery'], \ElementsKit_Lite::version(), true );
76
77 $widget_list = \ElementsKit_Lite\Config\Widget_List::instance()->get_list( 'all' );
78
79 foreach ( $widget_list as $widget_slug => $widget ) {
80 if ( empty( $widget['hasJS'] ) ) {
81 continue;
82 }
83
84 $script_handle = 'ekit-' . $widget_slug;
85 $script_file = $widget_slug . '.js';
86 $deps = [ 'ekit-core' ];
87
88 wp_register_script( $script_handle, \ElementsKit_Lite::widget_url() . 'init/assets/js/widgets/' . $script_file, $deps, \ElementsKit_Lite::version(), true );
89 }
90 }
91
92 public function enqueue_scripts() {
93 /**
94 * Localize frontend configuration for ElementsKit.
95 */
96 $config = apply_filters(
97 'elementskit/common/localize_settings',
98 [
99 'ajaxurl' => admin_url( 'admin-ajax.php' ),
100 'nonce' => wp_create_nonce( 'ekit_pro' ),
101 ]
102 );
103
104 wp_localize_script( 'ekit-core', 'ekit_config', $config );
105
106 // compatibility
107 if($this->is_plugin_active('elementskit/elementskit.php') && version_compare(\Elementskit::version(), '3.2.0', '<=')) {
108 // added swiper js - elementor remove it when "Improved Asset Loading" is active
109 if(defined('ELEMENTOR_ASSETS_URL')) {
110 wp_enqueue_script(
111 'swiper',
112 ELEMENTOR_ASSETS_URL . 'lib/swiper/swiper.min.js',
113 [],
114 \ElementsKit_Lite::version(),
115 true
116 );
117 }
118 }
119
120 // added fluent form styles on the editor
121 if (in_array('fluentform/fluentform.php', apply_filters('active_plugins', get_option('active_plugins')))) {
122 wp_enqueue_style( 'fluent-form-styles' );
123 wp_enqueue_style( 'fluentform-public-default' );
124 }
125
126 // register scripts for lottie
127 wp_register_script( 'lottie', \ElementsKit_Lite::widget_url() . 'lottie/assets/js/lottie.min.js', [], \ElementsKit_Lite::version(), true );
128 wp_register_script( 'lottie-init', \ElementsKit_Lite::widget_url() . 'lottie/assets/js/lottie.init.js', ['lottie', 'elementor-frontend'], \ElementsKit_Lite::version(), true );
129
130 // Enqueue admin toolbar script for logged-in users
131 if(is_user_logged_in()) {
132 wp_enqueue_script( 'ekit-admin-toolbar' );
133 }
134 }
135
136 public function register_frontend_css() {
137 // odometer styles
138 wp_register_style( 'odometer', \ElementsKit_Lite::widget_url() . 'init/assets/css/odometer-theme-default.css', [], \ElementsKit_Lite::version() );
139 //gallery filter
140 wp_register_style( 'gallery-filter', \ElementsKit_Lite::widget_url() . 'init/assets/css/gallery-filter.css', [], \ElementsKit_Lite::version() );
141 }
142
143 public function enqueue_frontend_css() {
144 // main styles
145 wp_enqueue_style( 'ekit-widget-styles', \ElementsKit_Lite::widget_url() . 'init/assets/css/widget-styles.css', [], \ElementsKit_Lite::version() );
146 wp_enqueue_style( 'ekit-responsive', \ElementsKit_Lite::widget_url() . 'init/assets/css/responsive.css', [], \ElementsKit_Lite::version() );
147
148 // RTL styles
149 if ( is_rtl() ) {
150 wp_enqueue_style( 'elementskit-rtl', \ElementsKit_Lite::widget_url() . 'init/assets/css/rtl.css', [], \ElementsKit_Lite::version() );
151 }
152 }
153
154 public function enqueue_3rd_party_style() {
155 if (function_exists( 'weforms' )) {
156 wp_enqueue_style( 'weforms', plugins_url('/weforms/assets/wpuf/css/frontend-forms.css', 'weforms' ), [], \ElementsKit_Lite::version() );
157 }
158
159 if(defined('WPFORMS_PLUGIN_SLUG')){
160 wp_enqueue_style( 'wpforms', plugins_url( '/'. WPFORMS_PLUGIN_SLUG . '/assets/css/wpforms-full.css', WPFORMS_PLUGIN_SLUG ), [], \ElementsKit_Lite::version() );
161 }
162 }
163
164 public function elementor_editor_css() {
165 wp_enqueue_style( 'elementskit-panel', \ElementsKit_Lite::widget_url() . 'init/assets/css/editor.css', [], \ElementsKit_Lite::version() );
166 }
167 }
168