PluginProbe
Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder / 1.6.3
Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder v1.6.3
3.1.4 3.0.8 3.0.9 3.1.0 3.1.2 3.1.3 3.0.7 3.0.5 3.0.4 3.0.3 3.0.2 trunk 1.5.0 1.5.1 1.5.2 1.6.1 1.6.2 1.6.3 1.6.4 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 All 93 releases
ultimate-store-kit / modules / shiny-grid / widgets / shiny-grid.php

shiny-grid.php in Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder 1.6.3, at modules/shiny-grid/widgets/shiny-grid.php

672 lines 28.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace UltimateStoreKit\Modules\ShinyGrid\Widgets;
4
5 use Elementor\Controls_Manager;
6 use Elementor\Group_Control_Border;
7 use Elementor\Group_Control_Box_Shadow;
8 use Elementor\Group_Control_Typography;
9 use Elementor\Group_Control_Background;
10 use UltimateStoreKit\Base\Module_Base;
11 use UltimateStoreKit\Traits\Global_Widget_Template;
12 use UltimateStoreKit\Includes\Controls\GroupQuery\Group_Control_Query;
13 use UltimateStoreKit\Traits\Global_Widget_Controls;
14 use WP_Query;
15
16 if (!defined('ABSPATH')) {
17 exit;
18 }
19
20 // Exit if accessed directly
21
22 class Shiny_Grid extends Module_Base {
23 use Global_Widget_Controls;
24 use Global_Widget_Template;
25 use Group_Control_Query;
26 // use Global_Widget_Template;
27
28 /**
29 * @var \WP_Query
30 */
31 private $_query = null;
32
33 public function get_name() {
34 return 'usk-shiny-grid';
35 }
36
37 public function get_title() {
38 return esc_html__('Shiny Grid', 'ultimate-store-kit');
39 }
40
41 public function get_icon() {
42 return 'usk-widget-icon usk-icon-shiny-grid';
43 }
44
45 public function get_categories() {
46 return ['ultimate-store-kit'];
47 }
48
49 public function get_keywords() {
50 return ['product', 'product-grid', 'table', 'wc'];
51 }
52
53 // public function get_script_depends() {
54 // return ['usk-shiny-grid'];
55 // }
56
57 public function get_style_depends() {
58 if ($this->usk_is_edit_mode()) {
59 return ['usk-all-styles'];
60 } else {
61 return ['ultimate-store-kit-font', 'usk-shiny-grid', 'slick-modal'];
62 }
63 }
64
65 // public function get_custom_help_url() {
66 // return 'https://youtu.be/3VkvEpVaNAM';
67 // }
68
69 public function get_query() {
70 return $this->_query;
71 }
72 protected function register_controls() {
73 $this->start_controls_section(
74 'section_woocommerce_layout',
75 [
76 'label' => esc_html__('Layout', 'ultimate-store-kit'),
77 ]
78 );
79
80 $this->add_control(
81 'layout_style',
82 [
83 'label' => esc_html__('Style', 'ultimate-store-kit'),
84 'type' => Controls_Manager::SELECT,
85 'default' => 'grid',
86 'options' => [
87 'grid' => esc_html__('Grid', 'ultimate-store-kit'),
88 'list' => esc_html__('List', 'ultimate-store-kit'),
89 ],
90 ]
91 );
92 $this->add_responsive_control(
93 'columns',
94 [
95 'label' => esc_html__('Columns', 'ultimate-store-kit'),
96 'type' => Controls_Manager::SELECT,
97 'default' => '3',
98 'tablet_default' => '2',
99 'mobile_default' => '1',
100 'options' => [
101 '1' => '1',
102 '2' => '2',
103 '3' => '3',
104 '4' => '4',
105 '5' => '5',
106 '6' => '6',
107 ],
108 'condition' => [
109 'layout_style' => 'grid'
110 ],
111 'selectors' => [
112 ' .usk-florence-grid .usk-grid' => 'grid-template-columns: repeat({{VALUE}}, 1fr);',
113
114 ],
115 'render_type' => 'template'
116 ]
117 );
118
119 $this->add_responsive_control(
120 'items_columns_gap',
121 [
122 'label' => esc_html__('Columns Gap', 'ultimate-wook'),
123 'type' => Controls_Manager::SLIDER,
124 'default' => [
125 'size' => 30,
126 ],
127 'selectors' => [
128 '{{WRAPPER}} .usk-shiny-grid .usk-grid' => 'grid-column-gap: {{SIZE}}px;',
129 ],
130 ]
131 );
132
133 $this->add_responsive_control(
134 'items_row_gap',
135 [
136 'label' => esc_html__('Row Gap', 'ultimate-wook'),
137 'type' => Controls_Manager::SLIDER,
138 'default' => [
139 'size' => 30,
140 ],
141 'selectors' => [
142 '{{WRAPPER}} .usk-shiny-grid .usk-grid' => 'grid-row-gap: {{SIZE}}px;',
143 ],
144 ]
145 );
146
147 $this->register_global_controls_grid_layout();
148
149 $this->add_control(
150 'show_tab',
151 [
152 'label' => esc_html__('Columns Filter', 'ultimate-store-kit'),
153 'type' => Controls_Manager::SWITCHER,
154 'separator' => 'before'
155 ]
156 );
157
158 $this->add_control(
159 'filter_column_lists',
160 [
161 'label' => __('Select Column Type', 'ultimate-store-kit'),
162 'type' => Controls_Manager::SELECT2,
163 'label_block' => true,
164 'multiple' => true,
165 'options' => [
166 'list-2' => __('List', 'ultimate-store-kit'),
167 'grid-2' => __('Column 2', 'ultimate-store-kit'),
168 'grid-3' => __('Column 3', 'ultimate-store-kit'),
169 'grid-4' => __('Column 4', 'ultimate-store-kit'),
170 'grid-5' => __('Column 5', 'ultimate-store-kit'),
171 'grid-6' => __('Column 6', 'ultimate-store-kit'),
172
173 ],
174 'condition' => [
175 'show_tab' => 'yes'
176 ],
177 'default' => ['list-2', 'grid-2', 'grid-3', 'grid-4'],
178 ]
179 );
180 $this->add_control(
181 'show_result_count',
182 [
183 'label' => esc_html__('Result Count', 'ultimate-store-kit'),
184 'type' => Controls_Manager::SWITCHER,
185 'label_on' => esc_html__('Show', 'ultimate-store-kit'),
186 'label_off' => esc_html__('Hide', 'ultimate-store-kit'),
187 'return_value' => 'yes',
188 'default' => 'yes',
189 'separator' => 'before',
190 'condition' => [
191 'show_tab' => 'yes'
192 ]
193 ]
194 );
195 $this->add_control(
196 'show_pagination',
197 [
198 'label' => esc_html__('Pagination', 'ultimate-store-kit'),
199 'type' => Controls_Manager::SWITCHER,
200 'separator' => 'before'
201 ]
202 );
203
204 $this->end_controls_section();
205 $this->start_controls_section(
206 'section_post_query_builder',
207 [
208 'label' => __('Query', 'ultimate-store-kit'),
209 'tab' => Controls_Manager::TAB_CONTENT,
210 ]
211 );
212 $this->register_query_builder_controls();
213 $this->register_controls_wc_additional();
214 $this->end_controls_section();
215 $this->register_global_controls_additional();
216 $this->register_global_controls_grid_columns();
217 $this->register_global_controls_result_count();
218 $this->register_global_controls_grid_items();
219 $this->register_global_controls_grid_image();
220 $this->register_global_controls_content();
221 $this->register_global_controls_title();
222 $this->register_global_controls_category();
223 $this->register_global_controls_excerpt();
224 $this->register_global_controls_price();
225 $this->register_global_controls_rating();
226 $this->start_controls_section(
227 'section_style_button',
228 [
229 'label' => esc_html__('Button', 'ultimate-store-kit'),
230 'tab' => Controls_Manager::TAB_STYLE,
231 'condition' => [
232 'show_cart' => 'yes',
233 ],
234 ]
235 );
236
237
238 $this->start_controls_tabs('tabs_button_style');
239
240 $this->start_controls_tab(
241 'tab_button_normal',
242 [
243 'label' => esc_html__('Normal', 'ultimate-store-kit'),
244 ]
245 );
246
247 $this->add_control(
248 'button_text_color',
249 [
250 'label' => esc_html__('Color', 'ultimate-store-kit'),
251 'type' => Controls_Manager::COLOR,
252 'default' => '',
253 'selectors' => [
254 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .usk-button' => 'color: {{VALUE}};',
255 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .added_to_cart' => 'color: {{VALUE}};',
256 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-button.loading::after' => 'border-color: {{VALUE}}'
257 ],
258 ]
259 );
260
261 $this->add_group_control(
262 Group_Control_Background::get_type(),
263 [
264 'name' => 'btn_background_color',
265 'label' => esc_html__('Background', 'ultimate-store-kit'),
266 'types' => ['classic', 'gradient'],
267 'selector' => '{{WRAPPER}} .usk-shiny-grid .usk-item-box .usk-image .usk-button, {{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .added_to_cart',
268 ]
269 );
270 $this->end_controls_tab();
271
272 $this->start_controls_tab(
273 'tab_button_hover',
274 [
275 'label' => esc_html__('Hover', 'ultimate-store-kit'),
276 ]
277 );
278
279 $this->add_control(
280 'hover_color',
281 [
282 'label' => esc_html__('Color', 'ultimate-store-kit'),
283 'type' => Controls_Manager::COLOR,
284 'selectors' => [
285 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .usk-button:hover' => 'color: {{VALUE}};',
286 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .added_to_cart:hover' => 'color: {{VALUE}};',
287 ],
288 ]
289 );
290
291 $this->add_group_control(
292 Group_Control_Background::get_type(),
293 [
294 'name' => 'btn_hover_bg',
295 'label' => esc_html__('Background', 'ultimate-store-kit'),
296 'types' => ['classic', 'gradient'],
297 'selector' => '{{WRAPPER}} .usk-shiny-grid .usk-item-box .usk-image .usk-button:hover, {{WRAPPER}} .usk-shiny-grid .usk-item-box .usk-image .added_to_cart:hover',
298 ]
299 );
300
301 $this->add_control(
302 'button_hover_border_color',
303 [
304 'label' => esc_html__('Border Color', 'ultimate-store-kit'),
305 'type' => Controls_Manager::COLOR,
306 'condition' => [
307 'btn_border_border!' => '',
308 ],
309 'selectors' => [
310 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .usk-button:hover' => 'border-color: {{VALUE}};',
311 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .added_to_cart:hover' => 'border-color: {{VALUE}};',
312 ],
313 ]
314 );
315
316 $this->end_controls_tab();
317 $this->end_controls_tabs();
318 $this->add_responsive_control(
319 'button_width',
320 [
321 'label' => esc_html__('Width', 'ultimate-store-kit'),
322 'type' => Controls_Manager::SLIDER,
323 'range' => [
324 'px' => [
325 'min' => 0,
326 'max' => 100,
327 ]
328 ],
329 'selectors' => [
330 '{{WRAPPER}} .usk-shiny-grid' => '--btn-width: {{SIZE}}%;',
331 ],
332 'separator' => 'before'
333 ]
334 );
335
336 $this->add_responsive_control(
337 'button_margin_spacing',
338 [
339 'label' => esc_html__('Bottom Spacing', 'ultimate-store-kit'),
340 'type' => Controls_Manager::SLIDER,
341 'range' => [
342 'px' => [
343 'min' => 0,
344 'max' => 200,
345 'step' => 1,
346 ]
347 ],
348 'default' => [
349 'unit' => 'px',
350 'size' => 0,
351 ],
352 'selectors' => [
353 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item:hover .usk-item-box .usk-image .usk-button' => 'transform: translateY(-{{SIZE}}{{UNIT}});',
354 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item:hover .usk-item-box .usk-image .added_to_cart' => 'transform: translateY(-{{SIZE}}{{UNIT}});',
355 ],
356 ]
357 );
358 $this->add_group_control(
359 Group_Control_Border::get_type(),
360 [
361 'name' => 'btn_border',
362 'label' => esc_html__('Border', 'ultimate-store-kit'),
363 'selector' =>
364 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .usk-button, {{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .added_to_cart',
365 ]
366 );
367
368 $this->add_responsive_control(
369 'border_radius',
370 [
371 'label' => esc_html__('Border Radius', 'ultimate-store-kit'),
372 'type' => Controls_Manager::DIMENSIONS,
373 'size_units' => ['px', '%'],
374 'selectors' => [
375 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .usk-button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
376 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .added_to_cart' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
377 ],
378 ]
379 );
380 $this->add_group_control(
381 Group_Control_Box_Shadow::get_type(),
382 [
383 'name' => 'button_shadow',
384 'selector' =>
385 '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .usk-button, {{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .added_to_cart',
386 ]
387 );
388
389 $this->add_group_control(
390 Group_Control_Typography::get_type(),
391 [
392 'name' => 'button_typography',
393 'label' => esc_html__('Typography', 'ultimate-store-kit'),
394 'selector' => '{{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .usk-button, {{WRAPPER}} .usk-shiny-grid .usk-grid .usk-item .usk-item-box .usk-image .added_to_cart',
395 'exclude' => ['line_height', 'letter_spacing'],
396 'separator' => 'before',
397 ]
398 );
399
400 $this->end_controls_section();
401 $this->register_global_controls_badge();
402 $this->register_global_controls_action_btn();
403 $this->register_global_controls_grid_pagination();
404 }
405 public function render_header() {
406 $settings = $this->get_settings_for_display();
407 $this->add_render_attribute('usk-shiny-grid', 'class', ['usk-shiny-grid', 'usk-content-position-' . $settings['alignment'] . ''], true);
408 $this->add_render_attribute('usk-shiny-grid', 'data-filter', [$settings['show_tab']]);
409
410 ?>
411 <div class="ultimate-store-kit">
412 <div <?php $this->print_render_attribute_string('usk-shiny-grid'); ?>>
413 <?php $this->template_grid_columns(); ?>
414 <?php
415 }
416 public function render_footer() { ?>
417 </div>
418 </div>
419 <?php
420 }
421 public function render_add_to_cart() {
422 global $product;
423 $settings = $this->get_settings_for_display();
424 if ('yes' == $settings['show_cart']) : ?>
425 <?php if ($product) {
426 $defaults = [
427 'quantity' => 1,
428 'class' => implode(
429 ' ',
430 array_filter(
431 [
432 'usk-button',
433 'product_type_' . $product->get_type(),
434 $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
435 $product->supports('ajax_add_to_cart') && $product->is_purchasable() && $product->is_in_stock() ? 'ajax_add_to_cart' : '',
436 ]
437 )
438 ),
439 'attributes' => [
440 'data-product_id' => $product->get_id(),
441 'data-product_sku' => $product->get_sku(),
442 'aria-label' => $product->add_to_cart_description(),
443 'rel' => 'nofollow',
444 ],
445 ];
446 $args = apply_filters('woocommerce_loop_add_to_cart_args', wp_parse_args($defaults), $product);
447 if (isset($args['attributes']['aria-label'])) {
448 $args['attributes']['aria-label'] = wp_strip_all_tags($args['attributes']['aria-label']);
449 }
450 echo wp_kses_post(apply_filters(
451 'woocommerce_loop_add_to_cart_link', // WPCS: XSS ok.
452 sprintf(
453 '<a href="%s" data-quantity="%s" class="%s" %s>%s <i class="button-icon usk-icon-arrow-right-8"></i></a>',
454 esc_url($product->add_to_cart_url()),
455 esc_attr(isset($args['quantity']) ? $args['quantity'] : 1),
456 esc_attr(isset($args['class']) ? $args['class'] : 'button'),
457 isset($args['attributes']) ? wc_implode_html_attributes($args['attributes']) : '',
458 esc_html($product->add_to_cart_text())
459 ),
460 $product,
461 $args
462 ));
463 }; ?>
464 <?php endif;
465 }
466 public function render_image() {
467 global $product;
468 $tooltip_position = 'left';
469 $settings = $this->get_settings_for_display();
470 $gallery_thumbs = $product->get_gallery_image_ids();
471 $product_image = wp_get_attachment_image_url(get_post_thumbnail_id(), $settings['image_size']);
472 if ($gallery_thumbs) {
473 foreach ($gallery_thumbs as $key => $gallery_thumb) {
474 if ($key == 0) :
475 $gallery_image_link = wp_get_attachment_image_url($gallery_thumb, $settings['image_size']);
476 endif;
477 }
478 } else {
479 $gallery_image_link = wp_get_attachment_image_url(get_post_thumbnail_id(), $settings['image_size']);
480 }
481 ?>
482 <div class="usk-image">
483 <a href="<?php echo esc_url(get_permalink()); ?>">
484 <img class="img image-default" src="<?php echo esc_url($product_image); ?>" alt="<?php echo esc_html(get_the_title()); ?>">
485 <img class="img image-hover" src="<?php echo esc_url($gallery_image_link); ?>" alt="<?php echo esc_html(get_the_title()); ?>">
486 </a>
487 <?php $this->render_add_to_cart(); ?>
488 <div class="usk-shoping">
489 <?php $this->register_global_template_add_to_wishlist($tooltip_position); ?>
490 <?php $this->register_global_template_add_to_compare($tooltip_position); ?>
491 <?php $this->register_global_template_quick_view($product->get_id(), $tooltip_position); ?>
492 </div>
493 <div class="usk-badge-label-wrapper">
494 <div class="usk-badge-label-content">
495 <?php $this->register_global_template_badge_label(); ?>
496 </div>
497 </div>
498 </div>
499 <?php
500 }
501 public function print_price_output($output) {
502 $tags = [
503 'del' => ['aria-hidden' => []],
504 'span' => ['class' => []],
505 'bdi' => [],
506 'ins' => [],
507 ];
508
509 if (isset($output)) {
510 echo wp_kses($output, $tags);
511 }
512 }
513 public function render_loop_item() {
514 $settings = $this->get_settings_for_display();
515 $this->query_product();
516 $wp_query = $this->get_query();
517
518
519 if ($settings['layout_style'] === 'grid') {
520 $this->add_render_attribute('usk-grid', 'class', ['usk-grid', 'usk-grid-layout', 'usk-grid-' . $settings['columns'] . '']);
521 } else {
522 $this->add_render_attribute('usk-grid', 'class', ['usk-grid', 'usk-list-layout', 'usk-grid-2']);
523 }
524
525 if ($wp_query->have_posts()) { ?>
526 <div <?php $this->print_render_attribute_string('usk-grid'); ?>">
527 <?php while ($wp_query->have_posts()) : $wp_query->the_post();
528 global $product;
529 $rating_count = $product->get_rating_count();
530 $average = $product->get_average_rating();
531 if ($settings['show_rating'] == 'yes') {
532 $have_rating = 'usk-have-rating';
533 } else {
534 $have_rating = '';
535 }
536 $categories = str_replace(',', '', wc_get_product_category_list($product->get_id()));
537 ?>
538 <div class="usk-item <?php esc_attr_e($have_rating, 'utlimate-woo-kit'); ?>">
539 <div class="usk-item-box">
540 <?php $this->render_image(); ?>
541 <div class="usk-content">
542 <div class="usk-inner-content">
543 <?php if ('yes' == $settings['show_category']) : ?>
544 <?php printf('<%1$s class="usk-category">%2$s</%1$s>', esc_attr($settings['category_tags']), wp_kses_post($categories)); ?>
545 <?php endif; ?>
546 <?php if ('yes' == $settings['show_title']) :
547 printf('<a href="%2$s" class="usk-title"><%1$s class="title">%3$s</%1$s></a>', esc_attr($settings['title_tags']), esc_url($product->get_permalink()), esc_html($product->get_title()));
548 endif; ?>
549 <div class="usk-desc">
550 <span class="desc"><?php echo wp_kses_post(wp_trim_words($product->get_short_description(), $settings['excerpt_limit'], '…')); ?></span>
551 </div>
552 <?php if (('yes' == $settings['show_price'])) : ?>
553 <div class="usk-price">
554 <?php $this->print_price_output($product->get_price_html()); ?>
555 </div>
556 <?php endif; ?>
557
558 <?php if ('yes' == $settings['show_rating']) : ?>
559 <div class="usk-rating">
560 <span><?php echo wp_kses_post($this->register_global_template_wc_rating($average, $rating_count)); ?></span>
561 </div>
562 <?php endif; ?>
563 </div>
564 </div>
565 </div>
566 </div>
567 <?php endwhile; ?>
568 </div>
569 <?php if ($settings['show_pagination']) :
570 ultimate_store_kit_post_pagination($wp_query);
571 endif;
572 wp_reset_postdata();
573 } else { ?>
574 <div class="usk-warning">
575 <span><?php echo esc_html__('Ops! There no product to display', 'ultimate-store-kit'); ?></span>
576 </div>
577 <?php
578 }
579 }
580 public function render() {
581 $this->render_header();
582 $this->render_loop_item();
583 $this->render_footer();
584 }
585
586 public function query_product() {
587 $default = $this->getGroupControlQueryArgs();
588 $this->_query = new WP_Query($default);
589 }
590 protected function template_grid_columns() {
591 $settings = $this->get_settings_for_display();
592 $this->query_product();
593 $wp_query = $this->get_query();
594 if (get_query_var('paged')) {
595 $paged = get_query_var('paged');
596 } elseif (get_query_var('page')) {
597 $paged = get_query_var('page');
598 } else {
599 $paged = 1;
600 }
601 $args = array(
602 'total' => $wp_query->found_posts,
603 'per_page' => $settings['product_limit'],
604 'current' => $paged,
605 );
606 if ($settings['show_tab'] == 'yes') : ?>
607 <div class="usk-grid-header usk-visible@l">
608 <?php if (($settings['show_result_count'] == 'yes')) :
609 wc_get_template('loop/result-count.php', $args);
610 endif;
611 ?>
612 <ul class="usk-grid-header-tabs">
613 <?php if (in_array("list-2", $settings['filter_column_lists'])) : ?>
614 <li class="usk-grid-tabs-list">
615 <a class="tab-option" href="javascript:void(0)" data-grid-column="usk-list-2">
616 <span class="usk-icon-grid-list"></span>
617 </a>
618 </li>
619 <?php
620 endif;
621 if (in_array('grid-2', $settings['filter_column_lists'])) :
622 ?>
623 <li class="usk-grid-tabs-list">
624 <a class="tab-option" href="javascript:void(0)" data-grid-column="usk-grid-2">
625 <span class="usk-icon-grid-2"></span>
626 </a>
627 </li>
628 <?php
629 endif;
630 if (in_array('grid-3', $settings['filter_column_lists'])) :
631 ?>
632 <li class="usk-grid-tabs-list">
633 <a class="tab-option" href="javascript:void(0)" data-grid-column="usk-grid-3">
634 <span class="usk-icon-grid-3"></span>
635 </a>
636 </li>
637 <?php
638 endif;
639 if (in_array('grid-4', $settings['filter_column_lists'])) :
640 ?>
641 <li class="usk-grid-tabs-list">
642 <a class="tab-option" href="javascript:void(0)" data-grid-column="usk-grid-4">
643 <span class="usk-icon-grid-4"></span>
644 </a>
645 </li>
646 <?php
647 endif;
648 if (in_array('grid-5', $settings['filter_column_lists'])) :
649 ?>
650 <li class="usk-grid-tabs-list">
651 <a class="tab-option" href="javascript:void(0)" data-grid-column="usk-grid-5">
652 <span class="usk-icon-grid-5"></span>
653 </a>
654 </li>
655 <?php
656 endif;
657 if (in_array('grid-6', $settings['filter_column_lists'])) :
658 ?>
659 <li class="usk-grid-tabs-list">
660 <a class="tab-option" href="javascript:void(0)" data-grid-column="usk-grid-6">
661 <span class="usk-icon-grid-6"></span>
662 </a>
663 </li>
664 <?php
665 endif;
666 ?>
667 </ul>
668 </div>
669 <?php endif;
670 }
671 }
672