PluginProbe
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites / 2.6.1
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites v2.6.1
4.1.0 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 2.1.2 2.5.0 2.5.3 2.6.1 All 38 releases
blockspare / inc / latest-post-block / posts-grid / index.php

index.php in BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites 2.6.1, at inc/latest-post-block/posts-grid/index.php

284 lines 12.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if(!function_exists('blockspare_render_block_core_latest_posts_grid')){
4 function blockspare_render_block_core_latest_posts_grid($attributes)
5 {
6
7 if($attributes['enablePagination']){
8 wp_enqueue_script('blockspare-pagination-js');
9 }
10 ob_start();
11 $unq_class = mt_rand(100000,999999);
12 $blockuniqueclass = '';
13
14 if(!empty($attributes['uniqueClass'])){
15 $blockuniqueclass = $attributes['uniqueClass'];
16 }else{
17 $blockuniqueclass = 'blockspare-posts-block-list-'.$unq_class;
18 }
19
20 $block_class = 'blockspare-posts-block-is-grid'.' has-gutter-'.$attributes['gutterSpace'];;;
21 $design = $attributes['grid'];
22 $blockName= 'post-grid';
23 $layoutClass= false;
24 if($attributes['grid'] != 'blockspare-posts-block-grid-layout-4' && $attributes['grid'] != 'blockspare-posts-block-grid-layout-5' && $attributes['grid'] != 'blockspare-posts-block-grid-layout-6') {
25 $layoutClass= true;
26 }
27
28 blockspare_query_loop_and_wrapper($attributes,$block_class,$design,$blockName,$layoutClass);
29 $data_content = latest_posts_style_control_grid($blockuniqueclass ,$attributes);
30 $data_content .= ob_get_clean();
31 return $data_content;
32
33 }
34 }
35
36 /**
37 * Registers the post grid block on server
38 */
39 if(!function_exists('blockspare_register_block_core_latest_posts_grid')){
40 function blockspare_register_block_core_latest_posts_grid()
41 {
42
43 if (!function_exists('register_block_type')) {
44 return;
45 }
46
47
48 ob_start();
49 include BLOCKSPARE_PLUGIN_DIR . 'inc/latest-post-block/posts-grid/block.json';
50 $metadata = json_decode(ob_get_clean(), true);
51
52 /* Block attributes */
53 register_block_type(
54 'blockspare/blockspare-latest-posts-grid',
55 array(
56 'attributes' =>$metadata['attributes'],
57 'render_callback' => 'blockspare_render_block_core_latest_posts_grid',
58 )
59 );
60 }
61
62 add_action('init', 'blockspare_register_block_core_latest_posts_grid');
63 }
64
65 if(!function_exists('latest_posts_style_control_grid')){
66 function latest_posts_style_control_grid($blockuniqueclass ,$attributes){
67
68
69 $block_content ='';
70 $block_content .= '<style type="text/css">';
71 $block_content .= ' .' . $blockuniqueclass . '.blockspare-posts-block-latest-post-wrap{
72 margin-top:' . $attributes['marginTop'] . 'px;
73 margin-bottom:' . $attributes['marginBottom'] . 'px;
74 margin-left:' . $attributes['marginLeft'] . 'px;
75 margin-right:' . $attributes['marginRight'] . 'px;
76 }';
77
78 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-content{
79 padding-top:' . $attributes['contentPaddingTop'] . 'px;
80 padding-right:' . $attributes['contentPaddingRight'] . 'px;
81 padding-bottom:' . $attributes['contentPaddingBottom'] . 'px;
82 padding-left:' . $attributes['contentPaddingLeft'] . 'px;
83 }';
84
85
86
87
88 if ($attributes['categoryLayoutOption'] == 'solid') {
89
90
91 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-category a{
92 color:' . $attributes['categoryTextColor'] . "!important" . ';
93 background-color:' . $attributes['categoryBackgroundColor'] . "!important" . ';
94 border-radius:' . $attributes['categoryBorderRadius'] . "px" . ';
95 }';
96
97 } else if ($attributes['categoryLayoutOption'] == 'border') {
98
99
100 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-category a{
101 color:' . $attributes['categoryTextColor'] . "!important" . ';
102 background-color:' . "transparent" . ';
103 border:' . "1px solid" . $attributes['categoryBorderColor'] . ';
104 border-radius:' . $attributes['categoryBorderRadius'] . "px" . ';
105 border-width:' . $attributes['categoryBorderWidth'] . "px" . ';
106 }';
107
108
109
110 } else {
111 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-category a{
112 color:' . $attributes['categoryTextColor'] . "!important" . ';
113 }';
114 }
115
116
117 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-category{
118 margin-top:' . $attributes['categoryMarginTop'] . 'px' . ';
119 margin-bottom:' . $attributes['categoryMarginBottom'] . 'px' . ';
120 margin-left:' . $attributes['categoryMarginLeft'] . 'px' . ';
121 margin-right:' . $attributes['categoryMarginRight'] . 'px' . ';
122 }';
123
124
125 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-byline{
126
127 margin-top:' . $attributes['metaMarginTop'] . 'px' . ';
128 margin-bottom:' . $attributes['metaMarginBottom'] . 'px' . ';
129 margin-left:' . $attributes['metaMarginLeft'] . 'px' . ';
130 margin-right:' . $attributes['metaMarginRight'] . 'px' . ';
131 }';
132
133
134 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-more-link{
135 margin-top:' . $attributes['moreLinkMarginTop'] . 'px' . ';
136 margin-bottom:' . $attributes['moreLinkMarginBottom'] . 'px' . ';
137 margin-left:' . $attributes['moreLinkMarginLeft'] . 'px' . ';
138 margin-right:' . $attributes['moreLinkMarginRight'] . 'px' . ';
139 }';
140
141
142
143
144
145 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title a span{
146 color: ' . $attributes['postTitleColor'] . ';
147
148 }';
149
150 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-author a span{
151 color:' . $attributes['linkColor'] . ';
152 }';
153
154
155 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-more-link span{
156 color:' . $attributes['linkColor'] . ';
157 }';
158
159 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-date{
160 color:' . $attributes['generalColor'] . ';
161 }';
162
163 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-excerpt-content,'.' .' . $blockuniqueclass . ' .comment_count{
164 color:' . $attributes['generalColor'] . ';
165
166 }';
167
168
169 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title{
170 margin-top:' . $attributes['titleMarginTop'] . 'px' . ';
171 margin-bottom:' . $attributes['titleMarginBottom'] . 'px' . ';
172 margin-left:' . $attributes['titleMarginLeft'] . 'px' . ';
173 margin-right:' . $attributes['titleMarginRight'] . 'px' . ';
174 }';
175
176
177 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-excerpt-content{
178 margin-top:' . $attributes['exceprtMarginTop'] . 'px' . ';
179 margin-bottom:' . $attributes['exceprtMarginBottom'] . 'px' . ';
180 margin-left:' . $attributes['exceprtMarginLeft'] . 'px' . ';
181 margin-right:' . $attributes['exceprtMarginRight'] . 'px' . ';
182 }';
183
184 $layoutstyle = explode('-',$attributes['grid']);
185 if($layoutstyle[5] >3){
186 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-single .blockspare-posts-block-post-img img{
187 border-radius:' . $attributes['borderRadius'] . 'px'.';
188
189 }';
190 if($attributes['enableBoxShadow']){
191 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-single .blockspare-posts-block-post-img img{
192 box-shadow: ' . $attributes['xOffset'] . 'px ' . $attributes['yOffset'] . 'px ' . $attributes['blur'] . 'px ' . $attributes['spread'] . 'px ' . $attributes['shadowColor'] . ';
193 }';
194 }
195 }else{
196 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-single{
197 border-radius:' . $attributes['borderRadius'] . 'px'.';
198 background-color:'.$attributes['backGroundColor'].'
199 }';
200
201 if($attributes['enableBoxShadow']){
202 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-single{
203 box-shadow: ' . $attributes['xOffset'] . 'px ' . $attributes['yOffset'] . 'px ' . $attributes['blur'] . 'px ' . $attributes['spread'] . 'px ' . $attributes['shadowColor'] . ';
204 }';
205 }
206 }
207
208
209
210
211
212 //Title Hover
213
214 if($attributes['titleOnHover']=='lpc-title-hover') {
215 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-content .blockspare-posts-block-title-link:hover span{
216 color: ' . $attributes['titleOnHoverColor'] . ';
217
218 }';
219 }
220
221 if($attributes['titleOnHover']=='lpc-title-border') {
222 $block_content .= ' .' . $blockuniqueclass . ' .lpc-title-border .blockspare-posts-block-post-grid-title .blockspare-posts-block-title-link span:hover{
223 box-shadow: inset 0 -2px 0 0 ' . $attributes['titleOnHoverColor'] . ';
224
225 }';
226 }
227
228 //Font Settings
229
230 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title a span{
231
232 font-size: ' . $attributes['postTitleFontSize'] . $attributes['titleFontSizeType'] . ';
233
234 '.bscheckFontfamily($attributes['titleFontFamily']).';
235 font-weight: ' . $attributes['titleFontWeight'] . ';
236 }';
237
238 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-content .blockspare-posts-block-post-grid-excerpt .blockspare-posts-block-post-grid-excerpt-content {
239 font-size:' . $attributes['descriptionFontSize'] . $attributes['descriptionFontSizeType'] . ';
240
241 '.bscheckFontfamily($attributes['descriptionFontFamily']).';
242 font-weight: ' . $attributes['descriptionFontWeight'] . ';
243 }';
244
245 $block_content .= '@media (max-width: 1025px) { ';
246 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title a span{
247 font-size: ' . $attributes['titleFontSizeTablet'] . $attributes['titleFontSizeType'] . ';
248 }';
249 $block_content .= ' .' . $blockuniqueclass .' .blockspare-posts-block-post-content .blockspare-posts-block-post-grid-excerpt .blockspare-posts-block-post-grid-excerpt-content {
250 font-size:' . $attributes['descriptionFontSizeTablet'].$attributes['descriptionFontSizeType'].'
251 }';
252 $block_content .= '}';
253
254
255 $block_content .= '@media (max-width: 767px) { ';
256 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title a span{
257 font-size: ' . $attributes['titleFontSizeMobile'] . $attributes['titleFontSizeType'] . ';
258 }';
259 $block_content .= ' .' . $blockuniqueclass .' .blockspare-posts-block-post-content .blockspare-posts-block-post-grid-excerpt .blockspare-posts-block-post-grid-excerpt-content {
260 font-size:' . $attributes['descriptionFontSizeMobile'].$attributes['descriptionFontSizeType'].'
261 }';
262 $block_content .= '}';
263
264 //Pagination
265 if($attributes['enablePagination']){
266 $block_content .=' .' . $blockuniqueclass . ' + .bs_blockspare_loadmore a.blockspare-readmore .load-btn{
267 color:'.$attributes['loadMoreTextColor'].';
268 background-color:'.$attributes['loadMoreTextBgColor'].';
269 '.bscheckFontfamily($attributes['titleFontFamily']).';
270 }';
271 $block_content .=' .' . $blockuniqueclass . ' + .bs_blockspare_loadmore a.blockspare-readmore .ajax-loader-enabled{
272 border-top-color:'.$attributes['loadMoreColor'].';
273 }';
274 $block_content .= '}';
275
276 }
277
278
279 $block_content .= '</style>';
280 return $block_content;
281 }
282 }
283
284