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

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