PluginProbe
Gutenify – Visual Site Builder Blocks & Starter Templates / 1.9.0
Gutenify – Visual Site Builder Blocks & Starter Templates v1.9.0
1.9.0 1.8.0 1.7.0 1.6.6 1.6.5 1.6.4 trunk 0.0.1 0.0.2 0.0.3 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 All 74 releases
gutenify / core / dist / blocks / grid / index.php

index.php in Gutenify – Visual Site Builder Blocks & Starter Templates 1.9.0, at core/dist/blocks/grid/index.php

110 lines 4.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace gutenify;
3
4 defined( 'ABSPATH' ) || exit;
5
6 class Grid{
7 public static function init() {
8 add_action( 'init', array( __CLASS__, 'register_block' ) );
9 add_filter( 'gutenify_render_block_gutenify/grid', array( __CLASS__, 'render_block' ), 10, 4 );
10 }
11
12 public static function register_block() {
13 register_block_type( __DIR__ );
14 }
15
16 public static function render_block( $block_content, $block, $instance, $block_id ) {
17 $root_selector = '.' . $block_id ;
18 $css='';
19
20 $css = $root_selector . '{ display: grid;';
21
22 if (!empty($block['attrs']['blockAdvanceOptions']['gap']['rowGap'])) {
23 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['gap']['rowGap'] ) . ';';
24 } else {
25 $css .= 'row-gap: 40px;';
26
27 }
28 if (!empty($block['attrs']['blockAdvanceOptions']['gap']['columnGap'])) {
29 $css .= 'column-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['gap']['columnGap'] ) . ';';
30 } else {
31 $css .= 'column-gap: 40px;';
32
33 }
34 if (!empty($block['attrs']['blockAdvanceOptions']['columns'])) {
35 $css .= 'grid-template-columns: repeat(' . esc_attr( $block['attrs']['blockAdvanceOptions']['columns'] ) . ',1fr);';
36 } else {
37 $css .= 'grid-template-columns: repeat(3,1fr);';
38
39 }
40 $css .= '}';
41
42 //tablet styling
43 $css .= '@media screen and (max-width: 780px){'. $root_selector . '{';
44
45 if (!empty($block['attrs']['blockAdvanceOptions']['tablet']['columns'])) {
46 $css .= 'grid-template-columns: repeat(' . esc_attr( $block['attrs']['blockAdvanceOptions']['tablet']['columns'] ) . ',1fr);';
47 } elseif (!empty($block['attrs']['blockAdvanceOptions']['columns'])) {
48 $css .= 'grid-template-columns: repeat(' . esc_attr( $block['attrs']['blockAdvanceOptions']['columns'] ) . ',1fr);';
49 } else {
50 $css .= 'grid-template-columns: repeat(3,1fr);';
51 }
52 if (!empty($block['attrs']['blockAdvanceOptions']['tablet']['gap']['rowGap'])) {
53 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['tablet']['gap']['rowGap'] ) . ';';
54 } elseif (!empty($block['attrs']['blockAdvanceOptions']['gap']['rowGap'])) {
55 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['gap']['rowGap'] ) . ';';
56 } else {
57 $css .= 'row-gap: 40px;';
58 }
59 if (!empty($block['attrs']['blockAdvanceOptions']['tablet']['gap']['columnGap'])) {
60 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['tablet']['gap']['columnGap'] ) . ';';
61 } else if (!empty($block['attrs']['blockAdvanceOptions']['gap']['columnGap'])) {
62 $css .= 'column-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['gap']['columnGap'] ) . ';';
63 } else {
64 $css .= 'column-gap: 40px;';
65 }
66 $css .= '}}';
67
68 //mobile styling
69 $css .= '@media screen and (max-width: 360px){ '. $root_selector. '{';
70
71 if (!empty($block['attrs']['blockAdvanceOptions']['mobile']['columns'])) {
72 $css .= 'grid-template-columns: repeat(' . esc_attr( $block['attrs']['blockAdvanceOptions']['mobile']['columns'] ) . ',1fr);';
73 } elseif (!empty($block['attrs']['blockAdvanceOptions']['tablet']['columns'])) {
74 $css .= 'grid-template-columns: repeat(' . esc_attr( $block['attrs']['blockAdvanceOptions']['tablet']['columns'] ) . ',1fr);';
75 } elseif (!empty($block['attrs']['blockAdvanceOptions']['columns'])) {
76 $css .= 'grid-template-columns: repeat(' . esc_attr( $block['attrs']['blockAdvanceOptions']['columns'] ) . ',1fr);';
77 } else {
78 $css .= 'grid-template-columns: repeat(3,1fr);';
79 }
80 if (!empty($block['attrs']['blockAdvanceOptions']['mobile']['gap']['rowGap'])) {
81 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['mobile']['gap']['rowGap'] ) . ';';
82 } elseif (!empty($block['attrs']['blockAdvanceOptions']['tablet']['gap']['rowGap'])) {
83 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['tablet']['gap']['rowGap'] ) . ';';
84 } elseif (!empty($block['attrs']['blockAdvanceOptions']['gap']['rowGap'])) {
85 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['gap']['rowGap'] ) . ';';
86 } else {
87 $css .= 'row-gap: 40px;';
88 }
89 if (!empty($block['attrs']['blockAdvanceOptions']['mobile']['gap']['columnGap'])) {
90 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['mobile']['gap']['columnGap'] ) . ';';
91 } elseif (!empty($block['attrs']['blockAdvanceOptions']['tablet']['gap']['columnGap'])) {
92 $css .= 'row-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['tablet']['gap']['columnGap'] ) . ';';
93 } elseif (!empty($block['attrs']['blockAdvanceOptions']['gap']['columnGap'])) {
94 $css .= 'column-gap: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['gap']['columnGap'] ) . ';';
95 } else {
96 $css .= 'column-gap: 40px;';
97 }
98
99 $css .= '}}';
100
101
102 $handle = 'gutenify_'. str_replace( '/', '_', $block['blockName'] ) . '_' . $block_id;
103 wp_add_inline_style( $handle, $css);
104 return $block_content;
105 }
106 }
107
108 Grid::init();
109
110