PluginProbe
Easy Elements for Elementor – Addons & Website Templates / 1.5.3
Easy Elements for Elementor – Addons & Website Templates v1.5.3
1.5.3 1.5.2 1.5.1 1.5.0 1.4.9 1.4.6 1.4.7 1.4.8 1.4.5 1.4.4 1.4.3 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 All 47 releases
easy-elements / includes / Utils / Enqueue.php

Enqueue.php in Easy Elements for Elementor – Addons & Website Templates 1.5.3, at includes/Utils/Enqueue.php

411 lines 17.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Easyel\EasyElements\Utils;
3 if ( ! defined( 'ABSPATH' ) ) exit;
4
5 class Enqueue {
6
7 private static $instance = null;
8 const VERSION = EASYELEMENTS_VER;
9 public static function get_instance() {
10 if ( ! self::$instance ) self::$instance = new self();
11 return self::$instance;
12 }
13
14 private function __construct() {
15 // Assets
16 add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_frontend_assets' ], 99 );
17 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_styles' ] );
18 add_action( 'elementor/editor/after_enqueue_scripts', [ $this, 'enqueue_editor_scripts' ] );
19
20 add_filter( 'script_loader_tag', [ $this, 'easyel_add_defer_attribute_free' ], 10, 2 );
21
22 add_action( 'wp_enqueue_scripts', [ $this, 'easyel_register_free_all_widget_assets'] );
23 add_action( 'elementor/editor/before_enqueue_scripts', [ $this, 'easyel_register_free_all_widget_assets'] );
24
25 }
26
27
28 public function enqueue_frontend_assets() {
29 $dir = EASYELEMENTS_DIR_URL;
30 if ( is_admin() ) return;
31 if ( ! class_exists( 'Elementor\Plugin' ) ) return;
32 wp_enqueue_style( 'swiper', ELEMENTOR_ASSETS_URL . 'lib/swiper/css/swiper-bundle.min.css', [], '8.0.7' );
33 wp_enqueue_style( 'easy-hfe-elementor', EASYELEMENTS_ASSETS_URL . 'header-footer/css/easy-hfe-elementor.css', [], self::VERSION );
34 wp_enqueue_style( 'e-e-easy-custom-icons', $dir . 'assets/simplelineicons/css/simple-line-icons.css', [], self::VERSION );
35
36 wp_enqueue_style( 'eel-elements-plugins', $dir . 'assets/css/plugins.min.css', [], self::VERSION );
37 wp_enqueue_script( 'swiper', ELEMENTOR_ASSETS_URL . 'lib/swiper/swiper-bundle.min.js', [ 'jquery' ], '8.0.7', true );
38 wp_enqueue_script( 'jarallax', $dir . 'assets/js/jarallax.js', [ 'jquery' ], '2.2.1', true );
39 wp_enqueue_script( 'eel-custom-js', $dir . 'assets/js/custom.js', [ 'jquery' ], self::VERSION, true );
40 wp_enqueue_script( 'easy-wrapper-link', $dir . 'assets/js/easy-wrapper-link.js', [ 'jquery' ], self::VERSION, true );
41
42 /**
43 * Dynamic scrollbar CSS variables
44 */
45 $options = get_option( 'easyel_scroll_smoother_settings', [] );
46
47 $width = ! empty( $options['smooth_scroll_width'] ) ? intval( $options['smooth_scroll_width'] ) . 'px' : '3px';
48 $track = ! empty( $options['smooth_scroll_normal_color'] ) ? $options['smooth_scroll_normal_color'] : '#dddddd';
49 $thumb = ! empty( $options['smooth_scroll_highlight_color'] ) ? $options['smooth_scroll_highlight_color'] : 'var(--e-global-color-primary)';
50
51 $dynamic_css = "
52 :root {
53 --easyel-scrollbar-width: {$width};
54 --easyel-scrollbar-track: {$track};
55 --easyel-scrollbar-thumb: {$thumb};
56 }
57 ";
58
59 wp_add_inline_style( 'eel-elements-plugins', $dynamic_css );
60
61 }
62
63
64 public function enqueue_admin_styles() {
65 global $pagenow;
66 $screen = get_current_screen();
67 $dir = EASYELEMENTS_DIR_URL;
68 wp_enqueue_style( 'e-e-elements-admin', $dir . 'assets/css/admin/admin.min.css', [], self::VERSION );
69 wp_enqueue_style( 'e-e-easy-custom-icons', $dir . 'assets/simplelineicons/css/simple-line-icons.css', [], self::VERSION );
70 wp_enqueue_style( 'e-e-easy-icons-font', $dir . 'includes/Admin/icons/css/easy-icons.css', [], self::VERSION );
71 wp_enqueue_style('e-e-admin-fonts-inter','https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap',false, self::VERSION );
72
73 if ( ( 'ee-elementor-hf' == $screen->id && ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) ) || ( 'edit.php' == $pagenow && 'edit-ee-elementor-hf' == $screen->id ) ) {
74 wp_enqueue_script( 'easy-ehf-admin-script', $dir . 'assets/header-footer/js/ee-ehf-admin.js', [ 'jquery', 'updates' ], self::VERSION, true );
75
76 wp_localize_script(
77 'easy-ehf-admin-script',
78 'easyel_hfe_admin_data',
79 [
80 'ajax_url' => admin_url( 'admin-ajax.php' ),
81 'nonce' => wp_create_nonce( 'easy_ehf_admin_nonce' ),
82 'installer_nonce' => wp_create_nonce( 'updates' ),
83 'data_source' => 'EE',
84 'popup_dismiss' => [ '' ],
85 'addon_activate' => esc_html__( 'Activate', 'easy-elements' ),
86 'addon_activated' => esc_html__( 'Activated', 'easy-elements' ),
87 'addon_active' => esc_html__( 'Active', 'easy-elements' ),
88 'addon_deactivate' => esc_html__( 'Deactivate', 'easy-elements' ),
89 'addon_inactive' => esc_html__( 'Inactive', 'easy-elements' ),
90 'addon_install' => esc_html__( 'Install', 'easy-elements' ),
91 'addon_download' => esc_html__( 'Download', 'easy-elements' ),
92 'addon_exists' => esc_html__( 'Already Exists.', 'easy-elements' ),
93 'theme_installed' => esc_html__( 'Theme Installed', 'easy-elements' ),
94 'plugin_installed' => esc_html__( 'Plugin Installed', 'easy-elements' ),
95 'plugin_error' => esc_html__( 'Could not install. Please download from WordPress.org and install manually.', 'easy-elements' ),
96 'visit_site' => esc_html__( 'Visit Website', 'easy-elements' ),
97 'subscribe_success' => esc_html__( 'Your details are submitted successfully.', 'easy-elements' ),
98 'subscribe_error' => esc_html__( 'Encountered an error while performing your request.', 'easy-elements' ),
99 ]
100 );
101 }
102 }
103
104 public function enqueue_editor_scripts() {
105 wp_enqueue_style( 'eel-elements-editor', EASYELEMENTS_DIR_URL . 'assets/css/editor.min.css', [], self::VERSION );
106 wp_enqueue_style( 'e-e-easy-custom-icons', EASYELEMENTS_DIR_URL . 'includes/Admin/icons/css/easy-icons.css', [], self::VERSION );
107 }
108
109 /**
110 * ------------------------------------------------------------
111 * Add defer attribute
112 * ------------------------------------------------------------
113 */
114 function easyel_add_defer_attribute_free( $tag, $handle ) {
115
116 $defer_handles = [
117 'swiper',
118 'jarallax',
119 'eel-custom-js',
120 'easy-wrapper-link',
121 'eel-countdown-script',
122 'eel-counter-script',
123 'eel-faq-accordion-script',
124 'eel-gallery-script',
125 'eel-login-register-script',
126 'eel-navigation-menu-script',
127 'eel-offcanvas-script',
128 'eel-scroll-to-top-script',
129 'eel-search-script',
130 'eel-tab-script',
131 'eel-table-script',
132 'eel-team-grid-script',
133 'eel-testimonials-script',
134 'eel-image-before-after-script',
135 ];
136
137 if ( in_array( $handle, $defer_handles, true ) ) {
138 return str_replace( ' src', ' defer src', $tag );
139 }
140
141 return $tag;
142 }
143
144 public function easyel_register_free_all_widget_assets() {
145
146 $widgets_assets = $this->easyel_enqueue_widget_assets();
147
148 $single_archive_widget = array(
149 'eel-featured-image',
150 'eel-post-content',
151 'eel-excerpt',
152 "eel-post-author-info",
153 'eel-post-comments',
154 'eel-post-meta',
155 'eel-post-pagination',
156 'eel-post-tags',
157 'eel-post-title',
158 "eel-breadcrumb",
159 "eel-navigation-menu",
160 "eel-site-logo",
161 );
162
163 if( is_array( $widgets_assets ) || is_object( $widgets_assets ) ) {
164 foreach ( $widgets_assets as $widget => $assets ) {
165
166 /**
167 * CSS register
168 */
169 if ( ! empty( $assets['css'] ) ) {
170 foreach ( $assets['css'] as $css ) {
171
172 $handle = $widget;
173 $path = EASYELEMENTS_DIR_PATH . $css;
174 $url = EASYELEMENTS_DIR_URL . $css;
175
176 if ( ! file_exists( $path ) ) {
177 continue;
178 }
179
180 $version = filemtime( $path );
181
182 if ( is_singular( 'post' ) && in_array( $handle, $single_archive_widget, true ) ) {
183
184 wp_enqueue_style(
185 $handle,
186 $url,
187 [],
188 $version
189 );
190
191 } else {
192
193 wp_register_style(
194 $handle,
195 $url,
196 [],
197 $version
198 );
199 }
200 }
201 }
202
203 /**
204 * JS register
205 */
206 if ( ! empty( $assets['js'] ) ) {
207 foreach ( $assets['js'] as $js ) {
208
209 $handle = $widget;
210 $path = EASYELEMENTS_DIR_PATH . $js;
211
212 if ( file_exists( $path ) ) {
213 wp_register_script(
214 $handle,
215 EASYELEMENTS_DIR_URL . $js,
216 [ 'jquery' ],
217 filemtime( $path ),
218 true
219 );
220
221 if ( $handle === 'eel-login-register' ) {
222 wp_localize_script( $handle, 'eelLoginRegister', [
223 'ajaxurl' => admin_url( 'admin-ajax.php' ),
224 'nonce' => wp_create_nonce( 'easy_elements_nonce' ),
225 ] );
226 }
227 }
228 }
229 }
230 }
231 }
232 }
233
234 function easyel_enqueue_widget_assets() {
235 if ( ! class_exists( '\Elementor\Plugin' ) ) return;
236
237 $widgets_assets = [
238 'eel-archive-post' => [
239 'css' => ['widgets/archive-post/css/archive-post.min.css'],
240 ],
241 'eel-blog-grid' => [
242 'css' => ['widgets/blog-grid/css/blog-grid.min.css'],
243 ],
244 'eel-breadcrumb' => [
245 'css' => ['widgets/breadcrumb/css/breadcrumb.min.css'],
246 ],
247 'eel-button' => [
248 'css' => ['widgets/button/css/button.min.css'],
249 ],
250 'eel-copyright' => [
251 'css' => ['widgets/copyright/css/copyright.min.css'],
252 ],
253 'eel-cf7' => [
254 'css' => ['widgets/cf7/css/cf7.min.css'],
255 ],
256 'eel-clients-logo-grid' => [
257 'css' => ['widgets/clients-logo-grid/css/clients-logo.min.css'],
258 ],
259 'eel-contact-box' => [
260 'css' => ['widgets/contact-box/css/contact-box.min.css'],
261 ],
262 'eel-countdown' => [
263 'css' => ['widgets/countdown/css/countdown.min.css'],
264 'js' => ['widgets/countdown/js/countdown.js'],
265 ],
266 'eel-counter' => [
267 'css' => ['widgets/counter/css/counter.min.css'],
268 'js' => ['widgets/counter/js/counter.js'],
269 ],
270 'eel-domain-search' => [
271 'css' => ['widgets/domain-search/css/domain-search.min.css'],
272 ],
273 'eel-excerpt' => [
274 'css' => ['widgets/excerpt/css/excerpt.min.css'],
275 ],
276 'eel-faq-accordion' => [
277 'css' => ['widgets/faq/css/faq.min.css'],
278 'js' => ['widgets/faq/js/faq.js'],
279 ],
280 'eel-accordion' => [
281 'css' => ['widgets/accordion/css/accordion.min.css'],
282 'js' => ['widgets/accordion/js/accordion.js'],
283 ],
284 'eel-feature-list' => [
285 'css' => ['widgets/feature-list/css/feature-list.min.css'],
286 ],
287 'eel-featured-image' => [
288 'css' => ['widgets/featured-image/css/featured-image.min.css'],
289 ],
290 'eel-gallery' => [
291 'css' => ['widgets/gallery/css/gallery.min.css'],
292 'js' => ['widgets/gallery/js/simple-gallery.js'],
293 ],
294 'eel-heading' => [
295 'css' => ['widgets/heading/css/heading.min.css'],
296 ],
297 'eel-icon-box' => [
298 'css' => ['widgets/icon-box/css/icon-box.min.css'],
299 ],
300 'eel-login-register' => [
301 'css' => ['widgets/login-register/css/login-register.min.css'],
302 'js' => ['widgets/login-register/js/login-register.js'],
303 ],
304 'eel-navigation-menu' => [
305 'css' => ['widgets/navigation-menu/css/navigation-menu.min.css'],
306 'js' => [
307 'widgets/navigation-menu/js/navigation-menu.min.js',
308 ],
309 ],
310 'eel-offcanvas' => [
311 'css' => ['widgets/offcanvas/css/offcanvas.min.css'],
312 'js' => ['widgets/offcanvas/js/offcanvas.js'],
313 ],
314 'eel-page-title' => [
315 'css' => ['widgets/page-title/css/page-title.min.css'],
316 ],
317 'eel-post-author-info' => [
318 'css' => ['widgets/post-author/css/post-author.min.css'],
319 ],
320 'eel-post-comments' => [
321 'css' => ['widgets/post-comments/css/post-comments.min.css'],
322 ],
323 'eel-post-content' => [
324 'css' => ['widgets/post-content/css/post-content.min.css'],
325 ],
326 'eel-post-meta' => [
327 'css' => ['widgets/post-meta/css/post-meta.min.css'],
328 ],
329 'eel-post-pagination' => [
330 'css' => ['widgets/post-pagination/css/post-pagination.min.css'],
331 ],
332 'eel-post-tags' => [
333 'css' => ['widgets/post-tag/css/post-tag.min.css'],
334 ],
335 'eel-post-title' => [
336 'css' => ['widgets/post-title/css/post-title.min.css'],
337 ],
338 'eel-pricing' => [
339 'css' => ['widgets/pricing-table/css/pricing.min.css'],
340 ],
341 'eel-process' => [
342 'css' => ['widgets/process-grid/css/process.min.css'],
343 ],
344 'eel-process-list' => [
345 'css' => ['widgets/process-list/css/process-list.min.css'],
346 ],
347 'easyel-progress-bar' => [
348 'css' => ['widgets/progress/css/progress.min.css'],
349 ],
350 'eel-scroll-to-top' => [
351 'css' => ['widgets/scroll-to-top/css/scroll.min.css'],
352 'js' => ['widgets/scroll-to-top/js/scroll.js'],
353 ],
354 'eel-category-list' => [
355 'css' => ['widgets/category-list/css/category-list.min.css'],
356 ],
357 'eel-search' => [
358 'css' => ['widgets/search/css/search.min.css'],
359 'js' => ['widgets/search/js/search.js'],
360 ],
361 'eel-service-list' => [
362 'css' => ['widgets/service-list/css/service-list.min.css'],
363 ],
364 'eel-site-logo' => [
365 'css' => ['widgets/site-logo/css/logo.min.css'],
366 ],
367 'eel-social-icon' => [
368 'css' => ['widgets/social-icon/css/social.min.css'],
369 ],
370 'eel-social-share' => [
371 'css' => ['widgets/social-share/css/social-share.min.css'],
372 ],
373 'eel-tab' => [
374 'css' => ['widgets/tab/css/tab.min.css'],
375 'js' => ['widgets/tab/js/tab.js'],
376 ],
377 'eel-table' => [
378 'css' => ['widgets/table/css/table.min.css'],
379 'js' => ['widgets/table/js/table.js'],
380 ],
381 'eel-team-grid' => [
382 'css' => ['widgets/team-grid/css/team-grid.min.css'],
383 'js' => ['widgets/team-grid/js/team.js'],
384 ],
385 'eel-testimonials' => [
386 'css' => ['widgets/testimonials-grid/css/testimonials.min.css'],
387 'js' => ['widgets/testimonials-grid/js/testimonial.js'],
388 ],
389 'eel-video-popup' => [
390 'css' => ['widgets/video/css/video.min.css'],
391 ],
392 'eel-single-nav' => [
393 'css' => ['widgets/single-nav/css/single-nav.min.css'],
394 ],
395 'eel-vertical-navigation' => [
396 'css' => ['widgets/vertical-menu/css/vertical-menu.min.css'],
397 ],
398 'eel-image-before-after' => [
399 'css' => ['widgets/image-comparison/css/image-before-after.min.css'],
400 'js' => ['widgets/image-comparison/js/event.move.js'],
401 ],
402 'eel-product-grid-lite' => [
403 'css' => ['widgets/product-grid-lite/css/product-grid-lite.min.css'],
404 ],
405 'eel-mini-cart' => [
406 'css' => ['widgets/mini-cart/css/mini-cart.min.css'],
407 ],
408 ];
409 return $widgets_assets;
410 }
411 }