PluginProbe
GutSlider – All in One Slider and Carousel Blocks for Gutenberg / 1.0.0
GutSlider – All in One Slider and Carousel Blocks for Gutenberg v1.0.0
3.2.0 3.1.0 3.0.0 2.13.2 2.13.1 2.13.0 trunk 1.0.0 2.1.0 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.2.1 2.2.2 2.3.0 2.4.0 2.5.1 2.5.3 2.5.4 2.5.5 All 57 releases
slider-blocks / includes / EnqueueAssets / EnqueueAssets.php

EnqueueAssets.php in GutSlider – All in One Slider and Carousel Blocks for Gutenberg 1.0.0, at includes/EnqueueAssets/EnqueueAssets.php

92 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace GutSliders\EnqueueAssets;
4
5 // Exit if accessed directly.
6 if ( ! defined( 'ABSPATH' ) ) {
7 exit;
8 }
9
10 class EnqueueAssets {
11 // constructor
12 public function __construct() {
13 // generate dynaamic style
14 add_filter( 'render_block', [ $this, 'generate_dynamic_style' ], 10, 2 );
15 // enqueue editor assets
16 add_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_editor_assets' ] );
17 // block frontend assets
18 add_action( 'enqueue_block_assets', [ $this, 'enqueue_block_assets' ] );
19 }
20
21 /**
22 * Enqueue Block Assets
23 */
24 public function enqueue_block_assets(){
25 if( file_exists( GUTSLIDERS_DIR_PATH . './build/frontend/frontend.asset.php' ) ){
26 $gutsldiers_dependency_file = include_once GUTSLIDERS_DIR_PATH . './build/frontend/frontend.asset.php';
27 }
28
29 wp_enqueue_script(
30 'gutsliders-blocks-frontend-js',
31 GUTSLIDERS_URL . './build/frontend/frontend.js',
32 isset( $gutsldiers_dependency_file['dependencies'] ) ? $gutsldiers_dependency_file['dependencies'] : [],
33 isset( $gutsldiers_dependency_file['version'] ) ? $gutsldiers_dependency_file['version'] : GUTSLIDERS_VERSION,
34 true
35 );
36
37 wp_enqueue_style(
38 'gutsliders-blocks-frontend-css',
39 GUTSLIDERS_URL . './build/frontend/frontend.css',
40 [],
41 GUTSLIDERS_VERSION
42 );
43 }
44
45 /**
46 * Enqueue Editor Assets
47 */
48 public function enqueue_editor_assets(){
49 $gutsldiers_dependency_file = include_once GUTSLIDERS_DIR_PATH . './build/global/global.asset.php';
50 wp_enqueue_script(
51 'gutsliders-blocks-global-js',
52 GUTSLIDERS_URL . './build/global/global.js',
53 $gutsldiers_dependency_file['dependencies'],
54 $gutsldiers_dependency_file['version'],
55 true
56 );
57
58 wp_enqueue_style(
59 'gutsliders-blocks-controls-css',
60 GUTSLIDERS_URL . './build/global/global.css',
61 [],
62 GUTSLIDERS_VERSION
63 );
64 }
65
66 /**
67 * Register Dynamic Style
68 */
69 function generate_dynamic_style($block_content, $block) {
70 if (isset($block['blockName']) && str_contains($block['blockName'], 'gutsliders/')) {
71 do_action( 'gutsliders_render_block', $block );
72 if (isset($block['attrs']['blockStyle'])) {
73 $style = $block['attrs']['blockStyle'];
74 $handle = isset( $block['attrs']['uniqueId'] ) ? $block['attrs']['uniqueId'] : 'gutsliders';
75 // convert style array to string
76 if ( is_array($style) ) {
77 $style = implode(' ', $style);
78 }
79 // minify style to remove extra space
80 $style = preg_replace( '/\s+/', ' ', $style );
81 wp_register_style(
82 $handle,
83 false
84 );
85 wp_enqueue_style( $handle );
86 wp_add_inline_style( $handle, $style );
87 }
88 }
89 return $block_content;
90 }
91
92 }