PluginProbe
Elementor Website Builder – more than just a page builder / 3.27.4
Elementor Website Builder – more than just a page builder v3.27.4
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / modules / global-classes / global-classes-injector.php

global-classes-injector.php in Elementor Website Builder – more than just a page builder 3.27.4, at modules/global-classes/global-classes-injector.php

38 lines 960 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\GlobalClasses;
4
5 use Elementor\Core\Files\CSS\Post;
6 use Elementor\Modules\AtomicWidgets\Styles\Styles_Renderer;
7 use Elementor\Plugin;
8
9 class Global_Classes_Injector {
10 public function register_hooks() {
11 add_action( 'elementor/css-file/post/parse', fn( Post $post ) => $this->inject_global_classes( $post ) );
12 }
13
14 private function inject_global_classes( Post $post ) {
15 if ( ! Plugin::$instance->kits_manager->is_kit( $post->get_post_id() ) ) {
16 return;
17 }
18
19 $global_classes = Global_Classes_Repository::make()->all();
20
21 if ( $global_classes->get_items()->is_empty() ) {
22 return;
23 }
24
25 $sorted_items = $global_classes
26 ->get_order()
27 ->map(
28 fn( $id ) => $global_classes->get_items()->get( $id )
29 );
30
31 $css = Styles_Renderer::make( [
32 'breakpoints' => Plugin::$instance->breakpoints->get_breakpoints_config(),
33 ] )->render( $sorted_items->all() );
34
35 $post->get_stylesheet()->add_raw_css( $css );
36 }
37 }
38