PluginProbe
Easy Elements for Elementor – Addons & Website Templates / 1.2.8
Easy Elements for Elementor – Addons & Website Templates v1.2.8
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.2.8, at includes/Utils/Enqueue.php

301 lines 11.5 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
35 wp_enqueue_style( 'eel-elements-plugins', $dir . 'assets/css/plugins.min.css', [], self::VERSION );
36 wp_enqueue_script( 'swiper', ELEMENTOR_ASSETS_URL . 'lib/swiper/swiper-bundle.min.js', [ 'jquery' ], '8.0.7', true );
37 wp_enqueue_script( 'jarallax', $dir . 'assets/js/jarallax.js', [ 'jquery' ], '2.2.1', true );
38 wp_enqueue_script( 'eel-custom-js', $dir . 'assets/js/custom.js', [ 'jquery' ], self::VERSION, true );
39 wp_enqueue_script( 'easy-wrapper-link', $dir . 'assets/js/easy-wrapper-link.js', [ 'jquery' ], self::VERSION, true );
40 }
41
42
43 public function enqueue_admin_styles() {
44 global $pagenow;
45 $screen = get_current_screen();
46 $dir = EASYELEMENTS_DIR_URL;
47 wp_enqueue_style( 'e-e-elements-admin', $dir . 'assets/css/admin/admin.min.css', [], self::VERSION );
48 wp_enqueue_style( 'e-e-easy-custom-icons', $dir . 'includes/Admin/icons/css/easy-icons.css', [], self::VERSION );
49 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 );
50
51 if ( ( 'ee-elementor-hf' == $screen->id && ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) ) || ( 'edit.php' == $pagenow && 'edit-ee-elementor-hf' == $screen->id ) ) {
52 wp_enqueue_script( 'easy-ehf-admin-script', $dir . 'assets/header-footer/js/ee-ehf-admin.js', [ 'jquery', 'updates' ], self::VERSION, true );
53
54 }
55 }
56
57 public function enqueue_editor_scripts() {
58 wp_enqueue_style( 'eel-elements-editor', EASYELEMENTS_DIR_URL . 'assets/css/editor.css', [], time() );
59 wp_enqueue_style( 'e-e-easy-custom-icons', EASYELEMENTS_DIR_URL . 'includes/Admin/icons/css/easy-icons.css', [], self::VERSION );
60 }
61
62
63 /**
64 * ------------------------------------------------------------
65 * Add defer attribute
66 * ------------------------------------------------------------
67 */
68 function easyel_add_defer_attribute_free( $tag, $handle ) {
69
70 $defer_handles = [
71 'swiper',
72 'jarallax',
73 'eel-custom-js',
74 'easy-wrapper-link',
75 'eel-countdown-script',
76 'eel-counter-script',
77 'eel-faq-accordion-script',
78 'eel-gallery-script',
79 'eel-login-register-script',
80 'eel-navigation-menu-script',
81 'eel-offcanvas-script',
82 'eel-scroll-to-top-script',
83 'eel-search-script',
84 'eel-tab-script',
85 'eel-table-script',
86 'eel-team-grid-script',
87 'eel-testimonials-script',
88 ];
89
90 if ( in_array( $handle, $defer_handles, true ) ) {
91 return str_replace( ' src', ' defer src', $tag );
92 }
93
94 return $tag;
95 }
96
97 public function easyel_register_free_all_widget_assets() {
98
99 $widgets_assets = $this->easyel_enqueue_widget_assets();
100
101 foreach ( $widgets_assets as $widget => $assets ) {
102
103 /**
104 * CSS register
105 */
106 if ( ! empty( $assets['css'] ) ) {
107 foreach ( $assets['css'] as $css ) {
108
109 $handle = $widget;
110 $path = EASYELEMENTS_DIR_PATH . $css;
111
112 if ( file_exists( $path ) ) {
113 wp_register_style(
114 $handle,
115 EASYELEMENTS_DIR_URL . $css,
116 [],
117 filemtime( $path )
118 );
119 }
120 }
121 }
122
123 /**
124 * JS register
125 */
126 if ( ! empty( $assets['js'] ) ) {
127 foreach ( $assets['js'] as $js ) {
128
129 $handle = $widget;
130 $path = EASYELEMENTS_DIR_PATH . $js;
131
132 if ( file_exists( $path ) ) {
133 wp_register_script(
134 $handle,
135 EASYELEMENTS_DIR_URL . $js,
136 [ 'jquery' ],
137 filemtime( $path ),
138 true
139 );
140 }
141 }
142 }
143 }
144 }
145
146 function easyel_enqueue_widget_assets() {
147 if ( ! class_exists( '\Elementor\Plugin' ) ) return;
148
149 $widgets_assets = [
150 'eel-archive-post' => [
151 'css' => ['widgets/archive-post/css/archive-post.min.css'],
152 ],
153 'eel-blog-grid' => [
154 'css' => ['widgets/blog-grid/css/blog-grid.min.css'],
155 ],
156 'eel-breadcrumb' => [
157 'css' => ['widgets/breadcrumb/css/breadcrumb.min.css'],
158 ],
159 'eel-button' => [
160 'css' => ['widgets/button/css/button.min.css'],
161 ],
162 'eel-cf7' => [
163 'css' => ['widgets/cf7/css/cf7.min.css'],
164 ],
165 'eel-clients-logo-grid' => [
166 'css' => ['widgets/clients-logo-grid/css/clients-logo.min.css'],
167 ],
168 'eel-contact-box' => [
169 'css' => ['widgets/contact-box/css/contact-box.min.css'],
170 ],
171 'eel-countdown' => [
172 'css' => ['widgets/countdown/css/countdown.min.css'],
173 'js' => ['widgets/countdown/js/countdown.js'],
174 ],
175 'eel-counter' => [
176 'css' => ['widgets/counter/css/counter.min.css'],
177 'js' => ['widgets/counter/js/counter.js'],
178 ],
179 'eel-domain-search' => [
180 'css' => ['widgets/domain-search/css/domain-search.min.css'],
181 ],
182 'eel-excerpt' => [
183 'css' => ['widgets/excerpt/css/excerpt.min.css'],
184 ],
185 'eel-faq-accordion' => [
186 'css' => ['widgets/faq/css/faq.min.css'],
187 'js' => ['widgets/faq/js/faq.js'],
188 ],
189 'eel-feature-list' => [
190 'css' => ['widgets/feature-list/css/feature-list.min.css'],
191 ],
192 'eel-featured-image' => [
193 'css' => ['widgets/featured-image/css/featured-image.min.css'],
194 ],
195 'eel-gallery' => [
196 'css' => ['widgets/gallery/css/gallery.min.css'],
197 'js' => ['widgets/gallery/js/simple-gallery.js'],
198 ],
199 'eel-heading' => [
200 'css' => ['widgets/heading/css/heading.min.css'],
201 ],
202 'eel-icon-box' => [
203 'css' => ['widgets/icon-box/css/icon-box.min.css'],
204 ],
205 'eel-login-register' => [
206 'css' => ['widgets/login-register/css/login-register.min.css'],
207 'js' => ['widgets/login-register/js/login-register.js'],
208 ],
209 'eel-navigation-menu' => [
210 'css' => ['widgets/navigation-menu/css/navigation-menu.min.css'],
211 'js' => [
212 'widgets/navigation-menu/js/navigation-menu.min.js',
213 'widgets/navigation-menu/js/eel-sticky-header.js',
214 ],
215 ],
216 'eel-offcanvas' => [
217 'css' => ['widgets/offcanvas/css/offcanvas.min.css'],
218 'js' => ['widgets/offcanvas/js/offcanvas.js'],
219 ],
220 'eel-page-title' => [
221 'css' => ['widgets/page-title/css/page-title.min.css'],
222 ],
223 'eel-post-author-info' => [
224 'css' => ['widgets/post-author/css/post-author.min.css'],
225 ],
226 'eel-post-comments' => [
227 'css' => ['widgets/post-comments/css/post-comments.min.css'],
228 ],
229 'eel-post-content' => [
230 'css' => ['widgets/post-content/css/post-content.min.css'],
231 ],
232 'eel-post-meta' => [
233 'css' => ['widgets/post-meta/css/post-meta.min.css'],
234 ],
235 'eel-post-pagination' => [
236 'css' => ['widgets/post-pagination/css/post-pagination.min.css'],
237 ],
238 'eel-post-tags' => [
239 'css' => ['widgets/post-tag/css/post-tag.min.css'],
240 ],
241 'eel-post-title' => [
242 'css' => ['widgets/post-title/css/post-title.min.css'],
243 ],
244 'eel-pricing' => [
245 'css' => ['widgets/pricing-table/css/pricing.min.css'],
246 ],
247 'eel-process' => [
248 'css' => ['widgets/process-grid/css/process.min.css'],
249 ],
250 'eel-process-list' => [
251 'css' => ['widgets/process-list/css/process-list.min.css'],
252 ],
253 'easyel-progress-bar' => [
254 'css' => ['widgets/progress/css/progress.min.css'],
255 ],
256 'eel-scroll-to-top' => [
257 'css' => ['widgets/scroll-to-top/css/scroll.min.css'],
258 'js' => ['widgets/scroll-to-top/js/scroll.js'],
259 ],
260 'eel-search' => [
261 'css' => ['widgets/search/css/search.min.css'],
262 'js' => ['widgets/search/js/search.js'],
263 ],
264 'eel-service-list' => [
265 'css' => ['widgets/service-list/css/service-list.min.css'],
266 ],
267 'eel-site-logo' => [
268 'css' => ['widgets/site-logo/css/logo.min.css'],
269 ],
270 'eel-social-icon' => [
271 'css' => ['widgets/social-icon/css/social.min.css'],
272 ],
273 'eel-social-share' => [
274 'css' => ['widgets/social-share/css/social-share.min.css'],
275 ],
276 'eel-tab' => [
277 'css' => ['widgets/tab/css/tab.min.css'],
278 'js' => ['widgets/tab/js/tab.js'],
279 ],
280 'eel-table' => [
281 'css' => ['widgets/table/css/table.min.css'],
282 'js' => ['widgets/table/js/table.js'],
283 ],
284 'eel-team-grid' => [
285 'css' => ['widgets/team-grid/css/team-grid.min.css'],
286 'js' => ['widgets/team-grid/js/team.js'],
287 ],
288 'eel-testimonials' => [
289 'css' => ['widgets/testimonials-grid/css/testimonials.min.css'],
290 'js' => ['widgets/testimonials-grid/js/testimonial.js'],
291 ],
292 'eel-video-popup' => [
293 'css' => ['widgets/video/css/video.min.css'],
294 ],
295 ];
296
297 return $widgets_assets;
298
299 }
300
301 }