PluginProbe
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder / 51.1.44
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder v51.1.44
51.1.87 51.1.86 51.1.84 51.1.85 51.1.83 51.1.82 51.1.81 51.1.79 51.1.78 51.1.77 51.1.76 51.1.74 51.1.75 51.1.65 51.1.64 51.1.63 trunk 51.1.14 51.1.2 51.1.35 51.1.36 51.1.37 51.1.38 51.1.39 51.1.44 All 41 releases
king-addons / includes / widgets / Facet_Search / Facet_Search.php

Facet_Search.php in King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder 51.1.44, at includes/widgets/Facet_Search/Facet_Search.php

156 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 * Facet Search widget.
4 *
5 * @package King_Addons
6 */
7
8 namespace King_Addons;
9
10 use Elementor\Controls_Manager;
11 use Elementor\Widget_Base;
12
13 if (!defined('ABSPATH')) {
14 exit;
15 }
16
17 /**
18 * Search filter widget.
19 */
20 class Facet_Search extends Widget_Base
21 {
22 /**
23 * Widget slug.
24 *
25 * @return string
26 */
27 public function get_name(): string
28 {
29 return 'king-addons-facet-search';
30 }
31
32 /**
33 * Widget title.
34 *
35 * @return string
36 */
37 public function get_title(): string
38 {
39 return esc_html__('Facet Search', 'king-addons');
40 }
41
42 /**
43 * Widget icon.
44 *
45 * @return string
46 */
47 public function get_icon(): string
48 {
49 return 'eicon-search';
50 }
51
52 /**
53 * Categories.
54 *
55 * @return array<int, string>
56 */
57 public function get_categories(): array
58 {
59 return ['king-addons'];
60 }
61
62 /**
63 * Style dependencies.
64 *
65 * @return array<int, string>
66 */
67 public function get_style_depends(): array
68 {
69 return [
70 KING_ADDONS_ASSETS_UNIQUE_KEY . '-facet-search-style',
71 ];
72 }
73
74 /**
75 * Script dependencies.
76 *
77 * @return array<int, string>
78 */
79 public function get_script_depends(): array
80 {
81 return [
82 KING_ADDONS_ASSETS_UNIQUE_KEY . '-facet-search-script',
83 ];
84 }
85
86 /**
87 * Register controls.
88 *
89 * @return void
90 */
91 public function register_controls(): void
92 {
93 $this->start_controls_section(
94 'kng_facet_search_section',
95 [
96 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Facet Search', 'king-addons'),
97 'tab' => Controls_Manager::TAB_CONTENT,
98 ]
99 );
100
101 $this->add_control(
102 'kng_filters_query_id',
103 [
104 'label' => esc_html__('Filter Query ID', 'king-addons'),
105 'type' => Controls_Manager::TEXT,
106 'placeholder' => esc_html__('shop_grid_1', 'king-addons'),
107 ]
108 );
109
110 $this->add_control(
111 'kng_placeholder',
112 [
113 'label' => esc_html__('Placeholder', 'king-addons'),
114 'type' => Controls_Manager::TEXT,
115 'default' => esc_html__('Search...', 'king-addons'),
116 ]
117 );
118
119 $this->end_controls_section();
120 }
121
122 /**
123 * Render widget output.
124 *
125 * @return void
126 */
127 public function render(): void
128 {
129 $settings = $this->get_settings_for_display();
130 $query_id = sanitize_title($settings['kng_filters_query_id'] ?? '');
131 $placeholder = $settings['kng_placeholder'] ?? '';
132
133 if ('' === $query_id) {
134 return;
135 }
136
137 ?>
138 <div class="king-addons-facet king-addons-facet--search">
139 <input
140 type="search"
141 class="king-addons-facet__input"
142 data-ka-filter-type="search"
143 data-ka-filters-query-id="<?php echo esc_attr($query_id); ?>"
144 placeholder="<?php echo esc_attr($placeholder); ?>"
145 />
146 </div>
147 <?php
148 }
149 }
150
151
152
153
154
155
156