1 | <?php |
||||||||
2 | /** |
||||||||
3 | * LSX Search Frontend Class. |
||||||||
4 | * |
||||||||
5 | * @package lsx-search |
||||||||
6 | */ |
||||||||
7 | |||||||||
8 | namespace lsx\search\classes; |
||||||||
9 | |||||||||
10 | class Frontend { |
||||||||
11 | |||||||||
12 | /** |
||||||||
13 | * Holds class instance |
||||||||
14 | * |
||||||||
15 | * @since 1.0.0 |
||||||||
16 | * |
||||||||
17 | * @var object \lsx\search\classes\Frontend() |
||||||||
18 | */ |
||||||||
19 | protected static $instance = null; |
||||||||
20 | |||||||||
21 | public $options = false; |
||||||||
22 | |||||||||
23 | public $tabs = false; |
||||||||
24 | |||||||||
25 | public $facet_data = false; |
||||||||
26 | |||||||||
27 | /** |
||||||||
28 | * Determine weather or not search is enabled for this page. |
||||||||
29 | * |
||||||||
30 | * @var boolean |
||||||||
31 | */ |
||||||||
32 | public $search_enabled = false; |
||||||||
33 | |||||||||
34 | public $search_core_suffix = false; |
||||||||
35 | |||||||||
36 | public $search_prefix = false; |
||||||||
37 | |||||||||
38 | /** |
||||||||
39 | * Holds the post types enabled |
||||||||
40 | * |
||||||||
41 | * @var array |
||||||||
42 | */ |
||||||||
43 | public $post_types = array(); |
||||||||
44 | |||||||||
45 | /** |
||||||||
46 | * Holds the taxonomies enabled for search |
||||||||
47 | * |
||||||||
48 | * @var array |
||||||||
49 | */ |
||||||||
50 | public $taxonomies = array(); |
||||||||
51 | |||||||||
52 | /** |
||||||||
53 | * If the current search page has posts or not |
||||||||
54 | * |
||||||||
55 | * @var boolean |
||||||||
56 | */ |
||||||||
57 | public $has_posts = false; |
||||||||
58 | |||||||||
59 | /** |
||||||||
60 | * If we are using the CMB2 options or not. |
||||||||
61 | * |
||||||||
62 | * @var boolean |
||||||||
63 | */ |
||||||||
64 | public $new_options = false; |
||||||||
65 | |||||||||
66 | /** |
||||||||
67 | * Construct method. |
||||||||
68 | */ |
||||||||
69 | public function __construct() { |
||||||||
0 ignored issues
–
show
Coding Style
introduced
by
![]() |
|||||||||
70 | $this->options = \lsx\search\includes\get_options(); |
||||||||
71 | $this->load_classes(); |
||||||||
72 | |||||||||
73 | add_filter( 'wpseo_json_ld_search_url', array( $this, 'change_json_ld_search_url' ), 10, 1 ); |
||||||||
74 | add_action( 'wp', array( $this, 'set_vars' ), 21 ); |
||||||||
75 | add_action( 'wp', array( $this, 'set_facetwp_vars' ), 22 ); |
||||||||
76 | add_action( 'wp', array( $this, 'core' ), 23 ); |
||||||||
77 | add_action( 'lsx_body_top', array( $this, 'check_for_results' ) ); |
||||||||
78 | |||||||||
79 | add_filter( 'pre_get_posts', array( $this, 'ignore_sticky_search' ) ); |
||||||||
80 | add_action( 'pre_get_posts', array( $this, 'filter_post_types' ) ); |
||||||||
81 | |||||||||
82 | add_filter( 'lsx_search_post_types', array( $this, 'register_post_types' ) ); |
||||||||
83 | add_filter( 'lsx_search_taxonomies', array( $this, 'register_taxonomies' ) ); |
||||||||
84 | add_filter( 'lsx_search_post_types_plural', array( $this, 'register_post_type_tabs' ) ); |
||||||||
85 | add_filter( 'facetwp_sort_options', array( $this, 'facetwp_sort_options' ), 10, 2 ); |
||||||||
86 | add_filter( 'wp_kses_allowed_html', array( $this, 'kses_allowed_html' ), 20, 2 ); |
||||||||
87 | add_filter( 'get_search_query', array( $this, 'get_search_query' ) ); |
||||||||
88 | |||||||||
89 | // Redirects. |
||||||||
90 | add_action( 'template_redirect', array( $this, 'pretty_search_redirect' ) ); |
||||||||
91 | add_filter( 'pre_get_posts', array( $this, 'pretty_search_parse_query' ) ); |
||||||||
92 | |||||||||
93 | add_action( 'lsx_search_sidebar_top', array( $this, 'search_sidebar_top' ) ); |
||||||||
94 | add_filter( 'facetwp_facet_html', array( $this, 'search_facet_html' ), 10, 2 ); |
||||||||
95 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
96 | |||||||||
97 | /** |
||||||||
98 | * Return an instance of this class. |
||||||||
99 | * |
||||||||
100 | * @since 1.0.0 |
||||||||
101 | * |
||||||||
102 | * @return object \lsx\member_directory\search\Frontend() A single instance of this class. |
||||||||
103 | */ |
||||||||
104 | public static function get_instance() { |
||||||||
0 ignored issues
–
show
|
|||||||||
105 | // If the single instance hasn't been set, set it now. |
||||||||
106 | if ( null === self::$instance ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
107 | self::$instance = new self(); |
||||||||
108 | } |
||||||||
109 | return self::$instance; |
||||||||
110 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
111 | |||||||||
112 | /** |
||||||||
113 | * Loads the variable classes and the static classes. |
||||||||
114 | */ |
||||||||
115 | private function load_classes() { |
||||||||
0 ignored issues
–
show
|
|||||||||
116 | require_once LSX_SEARCH_PATH . 'classes/frontend/class-layout.php'; |
||||||||
117 | $this->layout = frontend\Layout::get_instance(); |
||||||||
0 ignored issues
–
show
|
|||||||||
118 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
119 | |||||||||
120 | /** |
||||||||
121 | * Check all settings. |
||||||||
122 | */ |
||||||||
123 | public function set_vars() { |
||||||||
0 ignored issues
–
show
|
|||||||||
124 | $post_type = ''; |
||||||||
125 | |||||||||
126 | $this->post_types = apply_filters( 'lsx_search_post_types', array() ); |
||||||||
127 | $this->taxonomies = apply_filters( 'lsx_search_taxonomies', array() ); |
||||||||
128 | $this->tabs = apply_filters( 'lsx_search_post_types_plural', array() ); |
||||||||
129 | $this->options = apply_filters( 'lsx_search_options', $this->options ); |
||||||||
130 | $this->post_types = get_post_types(); |
||||||||
131 | $this->post_type_slugs = array( |
||||||||
0 ignored issues
–
show
|
|||||||||
132 | 'post' => 'posts', |
||||||||
133 | 'project' => 'projects', |
||||||||
134 | 'service' => 'services', |
||||||||
135 | 'team' => 'team', |
||||||||
136 | 'testimonial' => 'testimonials', |
||||||||
137 | 'video' => 'videos', |
||||||||
138 | 'product' => 'products', |
||||||||
139 | ); |
||||||||
140 | $this->set_search_prefix(); |
||||||||
141 | $this->get_cmb2_options(); |
||||||||
142 | $this->search_enabled = apply_filters( 'lsx_search_enabled', $this->is_search_enabled(), $this ); |
||||||||
143 | $this->search_prefix = apply_filters( 'lsx_search_prefix', $this->search_prefix, $this ); |
||||||||
144 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
145 | |||||||||
146 | private function get_cmb2_options() { |
||||||||
0 ignored issues
–
show
|
|||||||||
147 | $cmb2_options = get_option( 'lsx-search-settings' ); |
||||||||
148 | if ( false !== $cmb2_options && ! empty( $cmb2_options ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
149 | $this->set_search_prefix( true ); |
||||||||
150 | $this->options['display'] = $cmb2_options; |
||||||||
151 | foreach ( $this->options['display'] as $option_key => $option_value ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
152 | if ( is_array( $option_value ) && ! empty( $option_value ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
153 | $new_values = array(); |
||||||||
154 | foreach ( $option_value as $empty_key => $key_value ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
155 | $new_values[ $key_value ] = 'on'; |
||||||||
156 | } |
||||||||
157 | $this->options['display'][ $option_key ] = $new_values; |
||||||||
158 | } |
||||||||
159 | } |
||||||||
160 | $this->new_options = true; |
||||||||
161 | $this->disable_to_search_actions(); |
||||||||
162 | } |
||||||||
163 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
164 | |||||||||
165 | private function disable_to_search_actions() { |
||||||||
0 ignored issues
–
show
|
|||||||||
166 | global $lsx_to_search_fwp, $lsx_to_search; |
||||||||
167 | if ( null !== $lsx_to_search ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
168 | // Redirects. |
||||||||
169 | remove_filter( 'template_include', array( $lsx_to_search, 'search_template_include' ), 99 ); |
||||||||
170 | remove_action( 'template_redirect', array( $lsx_to_search, 'pretty_search_redirect' ) ); |
||||||||
171 | remove_filter( 'pre_get_posts', array( $lsx_to_search, 'pretty_search_parse_query' ) ); |
||||||||
172 | |||||||||
173 | // Layout Filter. |
||||||||
174 | remove_filter( 'lsx_layout', array( $lsx_to_search, 'lsx_layout' ), 20, 1 ); |
||||||||
0 ignored issues
–
show
The call to
remove_filter() has too many arguments starting with 1 .
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue. If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above. ![]() |
|||||||||
175 | remove_filter( 'lsx_layout_selector', array( $lsx_to_search, 'lsx_layout_selector' ), 10, 4 ); |
||||||||
176 | remove_filter( 'lsx_to_archive_layout', array( $lsx_to_search, 'lsx_to_search_archive_layout' ), 10, 2 ); |
||||||||
177 | |||||||||
178 | remove_action( 'lsx_search_sidebar_top', array( $lsx_to_search, 'search_sidebar_top' ) ); |
||||||||
179 | remove_action( 'pre_get_posts', array( $lsx_to_search, 'price_sorting' ), 100 ); |
||||||||
180 | |||||||||
181 | //add_shortcode( 'lsx_search_form', array( 'LSX_TO_Search_Frontend', 'search_form' ) ); |
||||||||
0 ignored issues
–
show
Unused Code
Comprehensibility
introduced
by
62% of this comment could be valid code. Did you maybe forget this after debugging?
Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it. The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production. This check looks for comments that seem to be mostly valid code and reports them. ![]() |
|||||||||
182 | remove_filter( 'searchwp_short_circuit', array( $lsx_to_search, 'searchwp_short_circuit' ), 10, 2 ); |
||||||||
183 | remove_filter( 'get_search_query', array( $lsx_to_search, 'get_search_query' ) ); |
||||||||
184 | remove_filter( 'body_class', array( $lsx_to_search, 'to_add_search_url_class' ), 20 ); |
||||||||
185 | |||||||||
186 | remove_filter( 'facetwp_preload_url_vars', array( $lsx_to_search, 'preload_url_vars' ), 10, 1 ); |
||||||||
187 | remove_filter( 'wpseo_json_ld_search_url', array( $lsx_to_search, 'change_json_ld_search_url' ), 10, 1 ); |
||||||||
188 | } |
||||||||
189 | if ( null !== $lsx_to_search_fwp ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
190 | remove_filter( 'facetwp_indexer_row_data', array( $lsx_to_search_fwp, 'facetwp_index_row_data' ), 10, 2 ); |
||||||||
191 | remove_filter( 'facetwp_index_row', array( $lsx_to_search_fwp, 'facetwp_index_row' ), 10, 2 ); |
||||||||
192 | |||||||||
193 | remove_filter( 'facetwp_sort_options', array( $lsx_to_search_fwp, 'facet_sort_options' ), 10, 2 ); |
||||||||
194 | |||||||||
195 | remove_filter( 'facetwp_pager_html', array( $lsx_to_search_fwp, 'facetwp_pager_html' ), 10, 2 ); |
||||||||
196 | remove_filter( 'facetwp_result_count', array( $lsx_to_search_fwp, 'facetwp_result_count' ), 10, 2 ); |
||||||||
197 | |||||||||
198 | remove_filter( 'facetwp_facet_html', array( $lsx_to_search_fwp, 'destination_facet_html' ), 10, 2 ); |
||||||||
199 | remove_filter( 'facetwp_facet_html', array( $lsx_to_search_fwp, 'slide_facet_html' ), 10, 2 ); |
||||||||
200 | remove_filter( 'facetwp_facet_html', array( $lsx_to_search_fwp, 'search_facet_html' ), 10, 2 ); |
||||||||
201 | remove_filter( 'facetwp_load_css', array( $lsx_to_search_fwp, 'facetwp_load_css' ), 10, 1 ); |
||||||||
202 | |||||||||
203 | if ( class_exists( 'LSX_Currencies' ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
204 | remove_filter( 'facetwp_render_output', array( $lsx_to_search_fwp, 'slide_price_lsx_currencies' ), 10, 2 ); |
||||||||
205 | } else { |
||||||||
206 | remove_filter( 'facetwp_render_output', array( $lsx_to_search_fwp, 'slide_price_to_currencies' ), 10, 2 ); |
||||||||
207 | } |
||||||||
208 | } |
||||||||
209 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
210 | |||||||||
211 | /** |
||||||||
212 | * Returns if the search is enabled. |
||||||||
213 | * |
||||||||
214 | * @return boolean |
||||||||
215 | */ |
||||||||
216 | public function is_search_enabled() { |
||||||||
0 ignored issues
–
show
|
|||||||||
217 | $search_enabled = false; |
||||||||
218 | |||||||||
219 | if ( false === $this->new_options ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
220 | if ( isset( $this->options['display'][ $this->search_prefix . '_enable_' . $this->search_core_suffix ] ) && ( ! empty( $this->options ) ) && 'on' == $this->options['display'][ $this->search_prefix . '_enable_' . $this->search_core_suffix ] ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
221 | $search_enabled = true; |
||||||||
222 | } |
||||||||
223 | } else { |
||||||||
224 | $enable_prefix = $this->search_prefix; |
||||||||
225 | if ( ! empty( $this->options ) && isset( $this->options['display'] ) && isset( $this->options['display'][ $enable_prefix . '_enable' ] ) && 'on' === $this->options['display'][ $enable_prefix . '_enable' ] ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
226 | $search_enabled = true; |
||||||||
227 | } |
||||||||
228 | } |
||||||||
229 | |||||||||
230 | // These are specific plugin exclusions. |
||||||||
231 | if ( is_tax( array( 'wcpv_product_vendors' ) ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
232 | $search_enabled = false; |
||||||||
233 | } |
||||||||
234 | return $search_enabled; |
||||||||
235 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
236 | |||||||||
237 | /** |
||||||||
238 | * Sets the search prefix. |
||||||||
239 | * |
||||||||
240 | * @return void |
||||||||
241 | */ |
||||||||
242 | private function set_search_prefix( $new_prefixes = false ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
243 | $page_for_posts = get_option( 'page_for_posts' ); |
||||||||
244 | if ( false !== $new_prefixes ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
245 | $this->taxonomies = array(); |
||||||||
246 | $this->post_types = array(); |
||||||||
247 | } |
||||||||
248 | |||||||||
249 | if ( is_search() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
250 | if ( false === $new_prefixes ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
251 | $this->search_core_suffix = 'core'; |
||||||||
252 | $this->search_prefix = 'search'; |
||||||||
253 | } else { |
||||||||
254 | $this->search_core_suffix = 'enable'; |
||||||||
255 | $this->search_prefix = 'engine_search'; |
||||||||
256 | } |
||||||||
257 | } elseif ( is_post_type_archive( $this->post_types ) || is_tax() || is_page( $page_for_posts ) || is_home() || is_category() || is_tag() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
258 | if ( false === $new_prefixes ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
259 | $this->search_core_suffix = 'search'; |
||||||||
260 | } else { |
||||||||
261 | $this->search_core_suffix = 'enable'; |
||||||||
262 | } |
||||||||
263 | |||||||||
264 | if ( is_tax() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
265 | $tax = get_query_var( 'taxonomy' ); |
||||||||
0 ignored issues
–
show
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line. To visualize $a = "a";
$ab = "ab";
$abc = "abc";
will produce issues in the first and second line, while this second example $a = "a";
$ab = "ab";
$abc = "abc";
will produce no issues. ![]() |
|||||||||
266 | $tax = get_taxonomy( $tax ); |
||||||||
0 ignored issues
–
show
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line. To visualize $a = "a";
$ab = "ab";
$abc = "abc";
will produce issues in the first and second line, while this second example $a = "a";
$ab = "ab";
$abc = "abc";
will produce no issues. ![]() |
|||||||||
267 | $post_type = $tax->object_type[0]; |
||||||||
268 | } else if ( is_page( $page_for_posts ) || is_category() || is_tag() || is_home() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
269 | $post_type = 'post'; |
||||||||
270 | } else { |
||||||||
271 | $post_type = get_query_var( 'post_type' ); |
||||||||
272 | } |
||||||||
273 | |||||||||
274 | if ( false === $new_prefixes ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
275 | if ( isset( $this->tabs[ $post_type ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
276 | $this->search_prefix = $this->tabs[ $post_type ] . '_archive'; |
||||||||
277 | } |
||||||||
278 | } else { |
||||||||
279 | $this->search_prefix = $post_type . '_search'; |
||||||||
280 | } |
||||||||
281 | } |
||||||||
282 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
283 | |||||||||
284 | /** |
||||||||
285 | * Sets the FacetWP variables. |
||||||||
286 | */ |
||||||||
287 | public function set_facetwp_vars() { |
||||||||
0 ignored issues
–
show
|
|||||||||
288 | |||||||||
289 | if ( class_exists( 'FacetWP' ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
290 | $facet_data = FWP()->helper->get_facets(); |
||||||||
0 ignored issues
–
show
The function
FWP was not found. Maybe you did not declare it correctly or list all dependencies?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||||||
291 | } |
||||||||
292 | |||||||||
293 | $this->facet_data = array(); |
||||||||
294 | |||||||||
295 | $this->facet_data['search_form'] = array( |
||||||||
296 | 'name' => 'search_form', |
||||||||
0 ignored issues
–
show
|
|||||||||
297 | 'label' => esc_html__( 'Search Form', 'lsx-search' ), |
||||||||
298 | ); |
||||||||
299 | |||||||||
300 | if ( ! empty( $facet_data ) && is_array( $facet_data ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
301 | foreach ( $facet_data as $facet ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
302 | $this->facet_data[ $facet['name'] ] = $facet; |
||||||||
303 | } |
||||||||
304 | } |
||||||||
305 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
306 | |||||||||
307 | /** |
||||||||
308 | * Check all settings. |
||||||||
309 | */ |
||||||||
310 | public function core() { |
||||||||
0 ignored issues
–
show
|
|||||||||
311 | |||||||||
312 | if ( true === $this->search_enabled ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
313 | add_action( 'wp_enqueue_scripts', array( $this, 'assets' ), 999 ); |
||||||||
314 | |||||||||
315 | add_filter( 'lsx_layout', array( $this, 'lsx_layout' ), 20, 1 ); |
||||||||
316 | add_filter( 'lsx_layout_selector', array( $this, 'lsx_layout_selector' ), 10, 4 ); |
||||||||
317 | add_filter( 'lsx_slot_class', array( $this, 'change_slot_column_class' ) ); |
||||||||
318 | add_action( 'lsx_entry_top', array( $this, 'add_label_to_title' ) ); |
||||||||
319 | add_filter( 'body_class', array( $this, 'body_class' ), 10 ); |
||||||||
320 | |||||||||
321 | add_filter( 'lsx_blog_customizer_top_of_blog_action', array( $this, 'top_of_blog_action' ), 10, 1 ); |
||||||||
322 | add_filter( 'lsx_blog_customizer_blog_description_class', array( $this, 'blog_description_class' ), 10, 1 ); |
||||||||
323 | |||||||||
324 | if ( class_exists( 'LSX_Videos' ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
325 | global $lsx_videos_frontend; |
||||||||
326 | remove_action( 'lsx_content_top', array( $lsx_videos_frontend, 'categories_tabs' ), 15 ); |
||||||||
327 | } |
||||||||
328 | |||||||||
329 | add_filter( 'lsx_paging_nav_disable', '__return_true' ); |
||||||||
330 | add_action( 'lsx_content_top', array( $this, 'facet_top_bar' ) ); |
||||||||
331 | add_action( 'lsx_content_top', array( $this, 'facetwp_tempate_open' ) ); |
||||||||
332 | add_action( 'lsx_content_bottom', array( $this, 'facetwp_tempate_close' ) ); |
||||||||
333 | add_action( 'lsx_content_bottom', array( $this, 'facet_bottom_bar' ) ); |
||||||||
334 | |||||||||
335 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_layout' ] ) && '1c' !== $this->options['display'][ $this->search_prefix . '_layout' ] ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
336 | add_filter( 'lsx_sidebar_enable', array( $this, 'lsx_sidebar_enable' ), 10, 1 ); |
||||||||
337 | } |
||||||||
338 | |||||||||
339 | add_action( 'lsx_content_wrap_before', array( $this, 'search_sidebar' ), 150 ); |
||||||||
340 | |||||||||
341 | if ( class_exists( 'WooCommerce' ) && ( is_shop() || is_product_category() || is_product_tag() ) ) { |
||||||||
0 ignored issues
–
show
The function
is_product_category was not found. Maybe you did not declare it correctly or list all dependencies?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() The function
is_product_tag was not found. Maybe you did not declare it correctly or list all dependencies?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() The function
is_shop was not found. Maybe you did not declare it correctly or list all dependencies?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||||||
342 | remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description' ); |
||||||||
343 | remove_action( 'woocommerce_archive_description', 'woocommerce_product_archive_description' ); |
||||||||
344 | add_filter( 'woocommerce_show_page_title', '__return_false' ); |
||||||||
345 | |||||||||
346 | add_filter( 'loop_shop_columns', function() { |
||||||||
0 ignored issues
–
show
|
|||||||||
347 | return 3; |
||||||||
348 | } ); |
||||||||
0 ignored issues
–
show
For multi-line function calls, the closing parenthesis should be on a new line.
If a function call spawns multiple lines, the coding standard suggests to move the closing parenthesis to a new line: someFunctionCall(
$firstArgument,
$secondArgument,
$thirdArgument
); // Closing parenthesis on a new line.
![]() |
|||||||||
349 | |||||||||
350 | // Actions added by LSX theme |
||||||||
351 | remove_action( 'lsx_content_wrap_before', 'lsx_global_header' ); |
||||||||
352 | |||||||||
353 | // Actions added be LSX theme / woocommerce.php file |
||||||||
354 | remove_action( 'woocommerce_after_shop_loop', 'lsx_wc_sorting_wrapper', 9 ); |
||||||||
355 | remove_action( 'woocommerce_after_shop_loop', 'woocommerce_catalog_ordering', 10 ); |
||||||||
356 | remove_action( 'woocommerce_after_shop_loop', 'woocommerce_result_count', 20 ); |
||||||||
357 | remove_action( 'woocommerce_after_shop_loop', 'woocommerce_pagination', 30 ); |
||||||||
358 | remove_action( 'woocommerce_after_shop_loop', 'lsx_wc_sorting_wrapper_close', 31 ); |
||||||||
359 | |||||||||
360 | // Actions added be LSX theme / woocommerce.php file |
||||||||
361 | remove_action( 'woocommerce_before_shop_loop', 'lsx_wc_sorting_wrapper', 9 ); |
||||||||
362 | remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 10 ); |
||||||||
363 | remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 ); |
||||||||
364 | remove_action( 'woocommerce_before_shop_loop', 'lsx_wc_woocommerce_pagination', 30 ); |
||||||||
365 | remove_action( 'woocommerce_before_shop_loop', 'lsx_wc_sorting_wrapper_close', 31 ); |
||||||||
366 | } |
||||||||
367 | } |
||||||||
368 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
369 | |||||||||
370 | /** |
||||||||
371 | * Adds a search class to the body to allow the styling of the sidebars etc. |
||||||||
372 | * |
||||||||
373 | * @param array $classes The classes. |
||||||||
374 | * @return array $classes The classes. |
||||||||
375 | */ |
||||||||
376 | public function body_class( $classes ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
377 | $classes[] = 'lsx-search-enabled'; |
||||||||
378 | return $classes; |
||||||||
379 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
380 | |||||||||
381 | /** |
||||||||
382 | * Moves the blog description to above the content columns. |
||||||||
383 | * |
||||||||
384 | * @param string $action |
||||||||
385 | * @return string $action |
||||||||
386 | */ |
||||||||
387 | public function top_of_blog_action( $action = '' ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
388 | $action = 'lsx_content_wrap_before'; |
||||||||
389 | return $action; |
||||||||
390 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
391 | |||||||||
392 | /** |
||||||||
393 | * Adds a class to the blog description. |
||||||||
394 | * |
||||||||
395 | * @param string $action |
||||||||
396 | * @return string $action |
||||||||
397 | */ |
||||||||
398 | public function blog_description_class( $class = '' ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
399 | $class .= ' col-md-12 search-description'; |
||||||||
400 | return $class; |
||||||||
401 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
402 | |||||||||
403 | /** |
||||||||
404 | * Check the $wp_query global to see if there are posts in the current query. |
||||||||
405 | * |
||||||||
406 | * @return void |
||||||||
407 | */ |
||||||||
408 | public function check_for_results() { |
||||||||
0 ignored issues
–
show
|
|||||||||
409 | if ( true === $this->search_enabled ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
410 | global $wp_query; |
||||||||
411 | if ( empty( $wp_query->posts ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
412 | $this->has_posts = false; |
||||||||
413 | remove_action( 'lsx_content_top', array( $this, 'facet_top_bar' ) ); |
||||||||
414 | remove_action( 'lsx_content_bottom', array( $this, 'facet_bottom_bar' ) ); |
||||||||
415 | remove_action( 'lsx_content_wrap_before', array( $this, 'search_sidebar' ), 150 ); |
||||||||
416 | } else { |
||||||||
417 | $this->has_posts = true; |
||||||||
418 | } |
||||||||
419 | } |
||||||||
420 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
421 | |||||||||
422 | /** |
||||||||
423 | * Filter the post types. |
||||||||
424 | */ |
||||||||
425 | public function filter_post_types( $query ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
426 | if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
427 | if ( ! empty( $this->options ) && ! empty( $this->options['display']['search_enable_core'] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
428 | if ( ! empty( $this->options['general']['search_post_types'] ) && is_array( $this->options['general']['search_post_types'] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
429 | $post_types = array_keys( $this->options['general']['search_post_types'] ); |
||||||||
430 | $query->set( 'post_type', $post_types ); |
||||||||
431 | } |
||||||||
432 | } |
||||||||
433 | } |
||||||||
434 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
435 | |||||||||
436 | /** |
||||||||
437 | * Sets post types with active search options. |
||||||||
438 | */ |
||||||||
439 | public function register_post_types( $post_types ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
440 | $post_types = array( 'post', 'project', 'service', 'team', 'testimonial', 'video', 'product' ); |
||||||||
441 | return $post_types; |
||||||||
442 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
443 | |||||||||
444 | /** |
||||||||
445 | * Sets taxonomies with active search options. |
||||||||
446 | */ |
||||||||
447 | public function register_taxonomies( $taxonomies ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
448 | $taxonomies = array( 'category', 'post_tag', 'project-group', 'service-group', 'team_role', 'video-category', 'product_cat', 'product_tag' ); |
||||||||
449 | return $taxonomies; |
||||||||
450 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
451 | |||||||||
452 | /** |
||||||||
453 | * Sets post types with active search options. |
||||||||
454 | */ |
||||||||
455 | public function register_post_type_tabs( $post_types_plural ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
456 | $post_types_plural = array( |
||||||||
457 | 'post' => 'posts', |
||||||||
0 ignored issues
–
show
|
|||||||||
458 | 'project' => 'projects', |
||||||||
0 ignored issues
–
show
|
|||||||||
459 | 'service' => 'services', |
||||||||
0 ignored issues
–
show
|
|||||||||
460 | 'team' => 'team', |
||||||||
0 ignored issues
–
show
|
|||||||||
461 | 'testimonial' => 'testimonials', |
||||||||
462 | 'video' => 'videos', |
||||||||
0 ignored issues
–
show
|
|||||||||
463 | 'product' => 'products', // WooCommerce |
||||||||
0 ignored issues
–
show
|
|||||||||
464 | ); |
||||||||
465 | return $post_types_plural; |
||||||||
466 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
467 | |||||||||
468 | /** |
||||||||
469 | * Enqueue styles and scripts. |
||||||||
470 | */ |
||||||||
471 | public function assets() { |
||||||||
472 | add_filter( 'lsx_defer_parsing_of_js', array( $this, 'skip_js_defer' ), 10, 4 ); |
||||||||
473 | wp_enqueue_script( 'touchSwipe', LSX_SEARCH_URL . 'assets/js/vendor/jquery.touchSwipe.min.js', array( 'jquery' ), LSX_SEARCH_VER, true ); |
||||||||
474 | wp_enqueue_script( 'slideandswipe', LSX_SEARCH_URL . 'assets/js/vendor/jquery.slideandswipe.min.js', array( 'jquery', 'touchSwipe' ), LSX_SEARCH_VER, true ); |
||||||||
475 | wp_enqueue_script( 'lsx-search', LSX_SEARCH_URL . 'assets/js/src/lsx-search.js', array( 'jquery', 'touchSwipe', 'slideandswipe', 'jquery-ui-datepicker' ), LSX_SEARCH_VER, true ); |
||||||||
476 | |||||||||
477 | $params = apply_filters( 'lsx_search_js_params', array( |
||||||||
0 ignored issues
–
show
|
|||||||||
478 | 'ajax_url' => admin_url( 'admin-ajax.php' ), |
||||||||
479 | )); |
||||||||
0 ignored issues
–
show
For multi-line function calls, the closing parenthesis should be on a new line.
If a function call spawns multiple lines, the coding standard suggests to move the closing parenthesis to a new line: someFunctionCall(
$firstArgument,
$secondArgument,
$thirdArgument
); // Closing parenthesis on a new line.
![]() |
|||||||||
480 | |||||||||
481 | wp_localize_script( 'lsx-search', 'lsx_customizer_params', $params ); |
||||||||
482 | |||||||||
483 | wp_enqueue_style( 'lsx-search', LSX_SEARCH_URL . 'assets/css/lsx-search.css', array(), LSX_SEARCH_VER ); |
||||||||
484 | wp_style_add_data( 'lsx-search', 'rtl', 'replace' ); |
||||||||
485 | |||||||||
486 | if ( true === $this->new_options ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
487 | wp_deregister_style( 'lsx_to_search' ); |
||||||||
488 | wp_deregister_script( 'lsx_to_search' ); |
||||||||
489 | } |
||||||||
490 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
491 | |||||||||
492 | /** |
||||||||
493 | * Adds the to-search.min.js and the to-search.js |
||||||||
494 | * |
||||||||
495 | * @param boolean $should_skip |
||||||||
496 | * @param string $tag |
||||||||
497 | * @param string $handle |
||||||||
498 | * @param string $href |
||||||||
499 | * @return boolean |
||||||||
500 | */ |
||||||||
501 | public function skip_js_defer( $should_skip, $tag, $handle, $href ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
502 | if ( ! is_admin() && ( false !== stripos( $href, 'lsx-search.min.js' ) || false !== stripos( $href, 'lsx-search.js' ) ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
503 | $should_skip = true; |
||||||||
504 | } |
||||||||
505 | return $should_skip; |
||||||||
506 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
507 | |||||||||
508 | /** |
||||||||
509 | * Redirect wordpress to the search template located in the plugin |
||||||||
0 ignored issues
–
show
|
|||||||||
510 | * |
||||||||
511 | * @param $template |
||||||||
0 ignored issues
–
show
|
|||||||||
512 | * @return $template |
||||||||
0 ignored issues
–
show
|
|||||||||
513 | */ |
||||||||
514 | public function search_template_include( $template ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
515 | if ( is_main_query() && is_search() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
516 | if ( file_exists( LSX_SEARCH_PATH . 'templates/search.php' ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
517 | $template = LSX_SEARCH_PATH . 'templates/search.php'; |
||||||||
518 | } |
||||||||
519 | } |
||||||||
520 | |||||||||
521 | return $template; |
||||||||
522 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
523 | |||||||||
524 | /** |
||||||||
525 | * Ignore sticky posts on Blog search. |
||||||||
526 | * |
||||||||
527 | * @param [type] $query |
||||||||
0 ignored issues
–
show
|
|||||||||
528 | * @return void |
||||||||
529 | */ |
||||||||
530 | public function ignore_sticky_search( $query ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
531 | if ( $query->is_main_query() && is_home() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
532 | $query->set( 'ignore_sticky_posts', true ); |
||||||||
533 | } |
||||||||
534 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
535 | |||||||||
536 | /** |
||||||||
537 | * Rewrite the search URL |
||||||||
538 | */ |
||||||||
539 | public function pretty_search_redirect() { |
||||||||
0 ignored issues
–
show
|
|||||||||
540 | global $wp_rewrite,$wp_query; |
||||||||
541 | |||||||||
542 | if ( ! isset( $wp_rewrite ) || ! is_object( $wp_rewrite ) || ! $wp_rewrite->using_permalinks() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
543 | return; |
||||||||
544 | } |
||||||||
545 | |||||||||
546 | $search_base = $wp_rewrite->search_base; |
||||||||
547 | |||||||||
548 | if ( is_search() && ! is_admin() && strpos( $_SERVER['REQUEST_URI'], "/{$search_base}/" ) === false ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
549 | $search_query = get_query_var( 's' ); |
||||||||
550 | if ( empty( $search_query ) && isset( $_GET['s'] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
551 | $search_query = $_GET['s']; |
||||||||
0 ignored issues
–
show
|
|||||||||
552 | } |
||||||||
553 | $engine = ''; |
||||||||
554 | |||||||||
555 | // If the search was triggered by a supplemental engine. |
||||||||
556 | if ( isset( $_GET['engine'] ) && 'default' !== $_GET['engine'] ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
557 | $engine = sanitize_text_field( wp_unslash( $_GET['engine'] ) ); |
||||||||
0 ignored issues
–
show
It seems like
wp_unslash($_GET['engine']) can also be of type array ; however, parameter $str of sanitize_text_field() does only seem to accept string , maybe add an additional type check?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||||||
558 | $index = array_search( $engine, $this->post_type_slugs, true ); |
||||||||
559 | if ( false !== $index ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
560 | $engine = $index; |
||||||||
561 | } |
||||||||
562 | $engine = $engine . '/'; |
||||||||
563 | } |
||||||||
564 | |||||||||
565 | $get_array = $_GET; |
||||||||
0 ignored issues
–
show
|
|||||||||
566 | |||||||||
567 | if ( is_array( $get_array ) && ! empty( $get_array ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
568 | $vars_to_maintain = array(); |
||||||||
569 | |||||||||
570 | foreach ( $get_array as $ga_key => $ga_value ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
571 | if ( false !== strpos( $ga_key, 'fwp_' ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
572 | $vars_to_maintain[] = $ga_key . '=' . $ga_value; |
||||||||
573 | } |
||||||||
574 | } |
||||||||
575 | } |
||||||||
576 | |||||||||
577 | $redirect_url = home_url( "/{$search_base}/" . $engine . urlencode( $search_query ) ); |
||||||||
0 ignored issues
–
show
|
|||||||||
578 | |||||||||
579 | if ( ! empty( $vars_to_maintain ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
580 | $redirect_url .= '?' . implode( '&', $vars_to_maintain ); |
||||||||
581 | } |
||||||||
582 | wp_redirect( $redirect_url ); |
||||||||
0 ignored issues
–
show
|
|||||||||
583 | exit(); |
||||||||
0 ignored issues
–
show
|
|||||||||
584 | } |
||||||||
585 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
586 | |||||||||
587 | /** |
||||||||
588 | * Parse the Query and trigger a search |
||||||||
589 | */ |
||||||||
590 | public function pretty_search_parse_query( $query ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
591 | $this->post_type_slugs = array( |
||||||||
0 ignored issues
–
show
|
|||||||||
592 | 'post' => 'posts', |
||||||||
0 ignored issues
–
show
|
|||||||||
593 | 'project' => 'projects', |
||||||||
0 ignored issues
–
show
|
|||||||||
594 | 'service' => 'services', |
||||||||
0 ignored issues
–
show
|
|||||||||
595 | 'team' => 'team', |
||||||||
0 ignored issues
–
show
|
|||||||||
596 | 'testimonial' => 'testimonials', |
||||||||
597 | 'video' => 'videos', |
||||||||
0 ignored issues
–
show
|
|||||||||
598 | 'product' => 'products', // WooCommerce |
||||||||
0 ignored issues
–
show
|
|||||||||
599 | ); |
||||||||
600 | if ( $query->is_search() && ! is_admin() && $query->is_main_query() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
601 | $search_query = $query->get( 's' ); |
||||||||
602 | $keyword_test = explode( '/', $search_query ); |
||||||||
603 | |||||||||
604 | $index = array_search( $keyword_test[0], $this->post_type_slugs, true ); |
||||||||
605 | if ( false !== $index ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
606 | $engine = $this->post_type_slugs[ $index ]; |
||||||||
607 | |||||||||
608 | $query->set( 'post_type', $engine ); |
||||||||
609 | $query->set( 'engine', $engine ); |
||||||||
610 | |||||||||
611 | if ( count( $keyword_test ) > 1 ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
612 | $query->set( 's', $keyword_test[1] ); |
||||||||
613 | } elseif ( post_type_exists( $engine ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
614 | $query->set( 's', '' ); |
||||||||
615 | } |
||||||||
616 | } else { |
||||||||
617 | if ( isset( $this->options['general']['search_post_types'] ) && is_array( $this->options['general']['search_post_types'] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
618 | $post_types = array_keys( $this->options['general']['search_post_types'] ); |
||||||||
619 | $query->set( 'post_type', $post_types ); |
||||||||
620 | } |
||||||||
621 | } |
||||||||
622 | } |
||||||||
623 | return $query; |
||||||||
624 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
625 | |||||||||
626 | /** |
||||||||
627 | * Change the search slug to /search/ for the JSON+LD output in Yoast SEO |
||||||||
628 | * |
||||||||
629 | * @return url |
||||||||
0 ignored issues
–
show
The type
lsx\search\classes\url was not found. Maybe you did not declare it correctly or list all dependencies?
The issue could also be caused by a filter entry in the build configuration.
If the path has been excluded in your configuration, e.g. filter:
dependency_paths: ["lib/*"]
For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths ![]() |
|||||||||
630 | */ |
||||||||
631 | public function change_json_ld_search_url() { |
||||||||
0 ignored issues
–
show
|
|||||||||
632 | return trailingslashit( home_url() ) . 'search/{search_term_string}'; |
||||||||
633 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
634 | |||||||||
635 | /** |
||||||||
636 | * A filter to set the layout to 2 column. |
||||||||
637 | */ |
||||||||
638 | public function lsx_layout( $layout ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
639 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_layout' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
640 | if ( false === $this->has_posts ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
641 | $layout = '1c'; |
||||||||
642 | } else { |
||||||||
643 | $layout = $this->options['display'][ $this->search_prefix . '_layout' ]; |
||||||||
644 | } |
||||||||
645 | } |
||||||||
646 | return $layout; |
||||||||
647 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
648 | |||||||||
649 | /** |
||||||||
650 | * Outputs the Search Title Facet |
||||||||
651 | */ |
||||||||
652 | public function search_sidebar_top() { |
||||||||
0 ignored issues
–
show
|
|||||||||
653 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) && true !== apply_filters( 'lsx_search_hide_search_box', false ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
654 | |||||||||
655 | if ( ! is_search() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
656 | |||||||||
657 | foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
658 | |||||||||
659 | if ( isset( $this->facet_data[ $facet ] ) && 'search' === $this->facet_data[ $facet ]['type'] ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
660 | echo wp_kses_post( '<div class="row">' ); |
||||||||
661 | $this->display_facet_default( $facet ); |
||||||||
662 | echo wp_kses_post( '</div>' ); |
||||||||
663 | unset( $this->options['display'][ $this->search_prefix . '_facets' ][ $facet ] ); |
||||||||
664 | } |
||||||||
665 | } |
||||||||
666 | } else { |
||||||||
667 | echo wp_kses_post( '<div class="row">' ); |
||||||||
668 | $this->display_facet_search(); |
||||||||
669 | echo wp_kses_post( '</div>' ); |
||||||||
670 | } |
||||||||
671 | } |
||||||||
672 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
673 | |||||||||
674 | /** |
||||||||
675 | * Overrides the search facet HTML |
||||||||
676 | * @param $output |
||||||||
677 | * @param $params |
||||||||
678 | * |
||||||||
679 | * @return string |
||||||||
680 | */ |
||||||||
681 | public function search_facet_html( $output, $params ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
682 | if ( 'search' == $params['facet']['type'] ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
683 | |||||||||
684 | $value = (array) $params['selected_values']; |
||||||||
0 ignored issues
–
show
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line. To visualize $a = "a";
$ab = "ab";
$abc = "abc";
will produce issues in the first and second line, while this second example $a = "a";
$ab = "ab";
$abc = "abc";
will produce no issues. ![]() |
|||||||||
685 | $value = empty( $value ) ? '' : stripslashes( $value[0] ); |
||||||||
0 ignored issues
–
show
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line. To visualize $a = "a";
$ab = "ab";
$abc = "abc";
will produce issues in the first and second line, while this second example $a = "a";
$ab = "ab";
$abc = "abc";
will produce no issues. ![]() |
|||||||||
686 | $placeholder = isset( $params['facet']['placeholder'] ) ? $params['facet']['placeholder'] : __( 'Search...', 'lsx-search' ); |
||||||||
687 | $placeholder = facetwp_i18n( $placeholder ); |
||||||||
0 ignored issues
–
show
The function
facetwp_i18n was not found. Maybe you did not declare it correctly or list all dependencies?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||||||
688 | |||||||||
689 | ob_start(); |
||||||||
690 | ?> |
||||||||
691 | <div class="col-xs-12 facetwp-item facetwp-form"> |
||||||||
692 | <div class="search-form lsx-search-form 2"> |
||||||||
693 | <div class="input-group facetwp-search-wrap"> |
||||||||
694 | <div class="field"> |
||||||||
695 | <input class="facetwp-search search-field form-control" type="text" placeholder="<?php echo esc_attr( $placeholder ); ?>" autocomplete="off" value="<?php echo esc_attr( $value ); ?>"> |
||||||||
696 | </div> |
||||||||
697 | |||||||||
698 | <div class="field submit-button"> |
||||||||
699 | <button class="search-submit btn facetwp-btn" type="submit"><?php esc_html_e( 'Search', 'lsx-search' ); ?></button> |
||||||||
700 | </div> |
||||||||
701 | </div> |
||||||||
702 | </div> |
||||||||
703 | </div> |
||||||||
704 | <?php |
||||||||
705 | $output = ob_get_clean(); |
||||||||
706 | } |
||||||||
707 | return $output; |
||||||||
708 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
709 | |||||||||
710 | /** |
||||||||
711 | * Change the primary and secondary column classes. |
||||||||
712 | */ |
||||||||
713 | public function lsx_layout_selector( $return_class, $class, $layout, $size ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
714 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_layout' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
715 | |||||||||
716 | if ( '2cl' === $layout || '2cr' === $layout ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
717 | $main_class = 'col-sm-8 col-md-9'; |
||||||||
718 | $sidebar_class = 'col-sm-4 col-md-3'; |
||||||||
719 | |||||||||
720 | if ( '2cl' === $layout ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
721 | $main_class .= ' col-sm-pull-4 col-md-pull-3 search-sidebar-left'; |
||||||||
722 | $sidebar_class .= ' col-sm-push-8 col-md-push-9'; |
||||||||
723 | } |
||||||||
724 | |||||||||
725 | if ( 'main' === $class ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
726 | return $main_class; |
||||||||
727 | } |
||||||||
728 | |||||||||
729 | if ( 'sidebar' === $class ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
730 | return $sidebar_class; |
||||||||
731 | } |
||||||||
732 | } |
||||||||
733 | } |
||||||||
734 | |||||||||
735 | return $return_class; |
||||||||
736 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
737 | |||||||||
738 | /** |
||||||||
739 | * Displays the Alphabet sorter above the facets. |
||||||||
740 | * |
||||||||
741 | * @return void |
||||||||
742 | */ |
||||||||
743 | public function display_alphabet_facet() { |
||||||||
0 ignored issues
–
show
|
|||||||||
744 | if ( isset( $this->options['display'][ $this->search_prefix . '_az_pagination' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
745 | $az_pagination = $this->options['display'][ $this->search_prefix . '_az_pagination' ]; |
||||||||
746 | } else { |
||||||||
747 | $az_pagination = false; |
||||||||
748 | } |
||||||||
749 | $az_pagination = apply_filters( 'lsx_search_top_az_pagination', $az_pagination ); |
||||||||
750 | if ( false !== $az_pagination && '' !== $az_pagination ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
751 | echo do_shortcode( '[facetwp facet="' . $az_pagination . '"]' ); |
||||||||
752 | } |
||||||||
753 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
754 | |||||||||
755 | /** |
||||||||
756 | * Outputs top. |
||||||||
757 | */ |
||||||||
758 | public function facet_top_bar() { |
||||||||
0 ignored issues
–
show
|
|||||||||
759 | if ( true === apply_filters( 'lsx_search_hide_top_bar', false ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
760 | return; |
||||||||
761 | } |
||||||||
762 | |||||||||
763 | $show_pagination = true; |
||||||||
764 | $pagination_visible = false; |
||||||||
765 | $show_per_page_combo = empty( $this->options['display'][ $this->search_prefix . '_disable_per_page' ] ); |
||||||||
766 | $show_sort_combo = empty( $this->options['display'][ $this->search_prefix . '_disable_sorting' ] ); |
||||||||
767 | |||||||||
768 | $show_pagination = apply_filters( 'lsx_search_top_show_pagination', $show_pagination ); |
||||||||
769 | $pagination_visible = apply_filters( 'lsx_search_top_pagination_visible', $pagination_visible ); |
||||||||
770 | $show_per_page_combo = apply_filters( 'lsx_search_top_show_per_page_combo', $show_per_page_combo ); |
||||||||
771 | $show_sort_combo = apply_filters( 'lsx_search_top_show_sort_combo', $show_sort_combo ); |
||||||||
772 | $facet_row_classes = apply_filters( 'lsx_search_top_facetwp_row_classes', '' ); |
||||||||
773 | ?> |
||||||||
774 | <div id="facetwp-top"> |
||||||||
775 | <?php if ( $show_sort_combo || ( $show_pagination && $show_per_page_combo ) ) { ?> |
||||||||
0 ignored issues
–
show
|
|||||||||
776 | <div class="row facetwp-top-row-1 hidden-xs <?php echo esc_attr( $facet_row_classes ); ?>"> |
||||||||
777 | <div class="col-xs-12"> |
||||||||
778 | |||||||||
779 | <?php if ( ! empty( $this->options['display'][ $this->search_prefix . '_display_result_count' ] ) && false === apply_filters( 'lsx_search_hide_result_count', false ) ) { ?> |
||||||||
0 ignored issues
–
show
|
|||||||||
780 | <div class="row"> |
||||||||
781 | <div class="col-md-12 facetwp-item facetwp-results"> |
||||||||
782 | <h3 class="lsx-search-title lsx-search-title-results"><?php esc_html_e( 'Results', 'lsx-search' ); ?> <?php echo '(' . do_shortcode( '[facetwp counts="true"]' ) . ') '; ?> |
||||||||
783 | <?php if ( false !== $this->options && isset( $this->options['display'] ) && ( ! empty( $this->options['display'][ $this->search_prefix . '_display_clear_button' ] ) ) && 'on' === $this->options['display'][ $this->search_prefix . '_display_clear_button' ] ) { ?> |
||||||||
0 ignored issues
–
show
|
|||||||||
784 | <span class="clear-facets hidden">- <a title="<?php esc_html_e( 'Clear the current search filters.', 'lsx-search' ); ?>" class="facetwp-results-clear" type="button" onclick="<?php echo esc_attr( apply_filters( 'lsx_search_clear_function', 'lsx_search.clearFacets(this);' ) ); ?>"><?php esc_html_e( 'Clear', 'lsx-search' ); ?></a></span> |
||||||||
785 | <?php } ?> |
||||||||
786 | </h3> |
||||||||
787 | </div> |
||||||||
788 | </div> |
||||||||
789 | <?php } ?> |
||||||||
790 | |||||||||
791 | <?php do_action( 'lsx_search_facetwp_top_row' ); ?> |
||||||||
792 | |||||||||
793 | <?php $this->display_alphabet_facet(); ?> |
||||||||
794 | |||||||||
795 | <?php |
||||||||
796 | if ( $show_sort_combo ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
797 | $new_sorter = $this->has_facet( 'sort' ); |
||||||||
798 | if ( false !== $new_sorter ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
799 | echo do_shortcode( '[facetwp facet="' . $new_sorter . '"]' ); |
||||||||
800 | } else { |
||||||||
801 | echo do_shortcode( '[facetwp sort="true"]' ); |
||||||||
802 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
803 | } |
||||||||
804 | ?> |
||||||||
805 | </div> |
||||||||
806 | </div> |
||||||||
807 | <?php } ?> |
||||||||
808 | </div> |
||||||||
809 | <?php |
||||||||
810 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
811 | |||||||||
812 | public function has_facet( $type ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
813 | $has_facet = false; |
||||||||
814 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
815 | foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
816 | if ( isset( $this->facet_data[ $facet ] ) && $this->facet_data[ $facet ]['type'] === $type ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
817 | $has_facet = $facet; |
||||||||
818 | } |
||||||||
819 | } |
||||||||
820 | } |
||||||||
821 | return $has_facet; |
||||||||
822 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
823 | |||||||||
824 | /** |
||||||||
825 | * Outputs bottom. |
||||||||
826 | */ |
||||||||
827 | public function facet_bottom_bar() { |
||||||||
0 ignored issues
–
show
|
|||||||||
828 | if ( true === apply_filters( 'lsx_search_hide_bottom_bar', false ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
829 | return; |
||||||||
830 | } |
||||||||
831 | $show_pagination = true; |
||||||||
832 | $pagination_visible = false; |
||||||||
833 | if ( isset( $this->options['display'][ $this->search_prefix . '_az_pagination' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
834 | $az_pagination = $this->options['display'][ $this->search_prefix . '_az_pagination' ]; |
||||||||
835 | } else { |
||||||||
836 | $az_pagination = false; |
||||||||
837 | } |
||||||||
838 | |||||||||
839 | $show_per_page_combo = empty( $this->options['display'][ $this->search_prefix . '_disable_per_page' ] ); |
||||||||
840 | $show_sort_combo = empty( $this->options['display'][ $this->search_prefix . '_search_disable_sorting' ] ); |
||||||||
841 | |||||||||
842 | $show_pagination = apply_filters( 'lsx_search_bottom_show_pagination', $show_pagination ); |
||||||||
843 | $pagination_visible = apply_filters( 'lsx_search_bottom_pagination_visible', $pagination_visible ); |
||||||||
844 | $show_per_page_combo = apply_filters( 'lsx_search_bottom_show_per_page_combo', $show_per_page_combo ); |
||||||||
845 | $show_sort_combo = apply_filters( 'lsx_search_bottom_show_sort_combo', $show_sort_combo ); |
||||||||
846 | |||||||||
847 | if ( $show_pagination || ! empty( $az_pagination ) ) { ?> |
||||||||
0 ignored issues
–
show
|
|||||||||
848 | <div id="facetwp-bottom"> |
||||||||
849 | <div class="row facetwp-bottom-row-1"> |
||||||||
850 | <div class="col-xs-12"> |
||||||||
851 | <?php do_action( 'lsx_search_facetwp_bottom_row' ); ?> |
||||||||
852 | |||||||||
853 | <?php //if ( $show_sort_combo ) { ?> |
||||||||
0 ignored issues
–
show
Unused Code
Comprehensibility
introduced
by
56% of this comment could be valid code. Did you maybe forget this after debugging?
Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it. The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production. This check looks for comments that seem to be mostly valid code and reports them. ![]() |
|||||||||
854 | <?php //echo do_shortcode( '[facetwp sort="true"]' ); ?> |
||||||||
0 ignored issues
–
show
Unused Code
Comprehensibility
introduced
by
56% of this comment could be valid code. Did you maybe forget this after debugging?
Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it. The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production. This check looks for comments that seem to be mostly valid code and reports them. ![]() |
|||||||||
855 | <?php //} ?> |
||||||||
856 | |||||||||
857 | <?php //if ( ( $show_pagination && $show_per_page_combo ) || $show_per_page_combo ) { ?> |
||||||||
0 ignored issues
–
show
Unused Code
Comprehensibility
introduced
by
53% of this comment could be valid code. Did you maybe forget this after debugging?
Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it. The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production. This check looks for comments that seem to be mostly valid code and reports them. ![]() |
|||||||||
858 | <?php //echo do_shortcode( '[facetwp per_page="true"]' ); ?> |
||||||||
0 ignored issues
–
show
Unused Code
Comprehensibility
introduced
by
56% of this comment could be valid code. Did you maybe forget this after debugging?
Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it. The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production. This check looks for comments that seem to be mostly valid code and reports them. ![]() |
|||||||||
859 | <?php //} ?> |
||||||||
860 | |||||||||
861 | <?php |
||||||||
862 | if ( $show_pagination ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
863 | $output_pagination = do_shortcode( '[facetwp pager="true"]' ); |
||||||||
864 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
865 | foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
866 | if ( isset( $this->facet_data[ $facet ] ) && in_array( $this->facet_data[ $facet ]['type'], array( 'pager' ) ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
867 | $output_pagination = do_shortcode( '[facetwp facet="pager_"]' ); |
||||||||
868 | } |
||||||||
869 | } |
||||||||
870 | } |
||||||||
871 | echo wp_kses_post( $output_pagination ); |
||||||||
872 | ?> |
||||||||
873 | <?php } ?> |
||||||||
874 | </div> |
||||||||
875 | </div> |
||||||||
876 | </div> |
||||||||
877 | <?php } |
||||||||
0 ignored issues
–
show
|
|||||||||
878 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
879 | |||||||||
880 | /** |
||||||||
881 | * Adds in the closing facetwp div |
||||||||
882 | * |
||||||||
883 | * @return void |
||||||||
884 | */ |
||||||||
885 | public function facetwp_tempate_open() { |
||||||||
0 ignored issues
–
show
|
|||||||||
886 | ?> |
||||||||
887 | <div class="facetwp-template"> |
||||||||
888 | <?php |
||||||||
889 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
890 | |||||||||
891 | /** |
||||||||
892 | * Adds in the closing facetwp div |
||||||||
893 | * |
||||||||
894 | * @return void |
||||||||
895 | */ |
||||||||
896 | public function facetwp_tempate_close() { |
||||||||
0 ignored issues
–
show
|
|||||||||
897 | ?> |
||||||||
898 | </div> |
||||||||
899 | <?php |
||||||||
900 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
901 | |||||||||
902 | /** |
||||||||
903 | * Disables default sidebar. |
||||||||
904 | */ |
||||||||
905 | public function lsx_sidebar_enable( $sidebar_enabled ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
906 | $sidebar_enabled = false; |
||||||||
907 | return $sidebar_enabled; |
||||||||
908 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
909 | |||||||||
910 | /** |
||||||||
911 | * Outputs custom sidebar. |
||||||||
912 | */ |
||||||||
913 | public function search_sidebar() { |
||||||||
0 ignored issues
–
show
|
|||||||||
914 | |||||||||
915 | $this->options = apply_filters( 'lsx_search_sidebar_options', $this->options ); |
||||||||
916 | ?> |
||||||||
917 | <?php do_action( 'lsx_search_sidebar_before' ); ?> |
||||||||
918 | |||||||||
919 | <div id="secondary" class="facetwp-sidebar widget-area <?php echo esc_attr( lsx_sidebar_class() ); ?>" role="complementary"> |
||||||||
920 | |||||||||
921 | <?php do_action( 'lsx_search_sidebar_top' ); ?> |
||||||||
922 | |||||||||
923 | <?php if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) ) { ?> |
||||||||
0 ignored issues
–
show
|
|||||||||
924 | <div class="row facetwp-row lsx-search-filer-area"> |
||||||||
925 | <h3 class="facetwp-filter-title"><?php echo esc_html_e( 'Refine by', 'lsx-search' ); ?></h3> |
||||||||
926 | <div class="col-xs-12 facetwp-item facetwp-filters-button hidden-sm hidden-md hidden-lg"> |
||||||||
927 | <button class="ssm-toggle-nav btn btn-block" rel="lsx-search-filters"><?php esc_html_e( 'Filters', 'lsx-search' ); ?> <i class="fa fa-chevron-down" aria-hidden="true"></i></button> |
||||||||
928 | </div> |
||||||||
929 | |||||||||
930 | <div class="ssm-overlay ssm-toggle-nav" rel="lsx-search-filters"></div> |
||||||||
931 | |||||||||
932 | <div class="col-xs-12 facetwp-item-wrap facetwp-filters-wrap" id="lsx-search-filters"> |
||||||||
933 | <div class="row hidden-sm hidden-md hidden-lg ssm-row-margin-bottom"> |
||||||||
934 | <div class="col-xs-12 facetwp-item facetwp-filters-button"> |
||||||||
935 | <button class="ssm-close-btn ssm-toggle-nav btn btn-block" rel="lsx-search-filters"><?php esc_html_e( 'Close Filters', 'lsx-search' ); ?> <i class="fa fa-times" aria-hidden="true"></i></button> |
||||||||
936 | </div> |
||||||||
937 | </div> |
||||||||
938 | |||||||||
939 | <div class="row"> |
||||||||
940 | <?php |
||||||||
941 | // Slider. |
||||||||
942 | foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
943 | if ( isset( $this->facet_data[ $facet ] ) && ! in_array( $this->facet_data[ $facet ]['type'], array( 'alpha', 'search', 'pager', 'sort', 'autocomplete' ) ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
944 | $this->display_facet_default( $facet ); |
||||||||
945 | } |
||||||||
946 | } |
||||||||
947 | ?> |
||||||||
948 | </div> |
||||||||
949 | |||||||||
950 | <div class="row hidden-sm hidden-md hidden-lg ssm-row-margin-top"> |
||||||||
951 | <div class="col-xs-12 facetwp-item facetwp-filters-button"> |
||||||||
952 | <button class="ssm-apply-btn ssm-toggle-nav btn btn-block" rel="lsx-search-filters"><?php esc_html_e( 'Apply Filters', 'lsx-search' ); ?> <i class="fa fa-check" aria-hidden="true"></i></button> |
||||||||
953 | </div> |
||||||||
954 | </div> |
||||||||
955 | </div> |
||||||||
956 | </div> |
||||||||
957 | <?php } ?> |
||||||||
958 | |||||||||
959 | <?php do_action( 'lsx_search_sidebar_bottom' ); ?> |
||||||||
960 | </div> |
||||||||
961 | |||||||||
962 | <?php do_action( 'lsx_search_sidebar_after' ); ?> |
||||||||
963 | <?php |
||||||||
964 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
965 | |||||||||
966 | /** |
||||||||
967 | * Check if the pager facet is on |
||||||||
968 | * |
||||||||
969 | * @return void |
||||||||
970 | */ |
||||||||
971 | public function pager_facet_enabled() { |
||||||||
0 ignored issues
–
show
|
|||||||||
972 | |||||||||
973 | $pager_facet_off = false; |
||||||||
974 | |||||||||
975 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
976 | foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
977 | if ( isset( $this->facet_data[ $facet ] ) && ! in_array( $this->facet_data[ $facet ]['type'], array( 'pager' ) ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
978 | $pager_facet_off = true; |
||||||||
979 | } |
||||||||
980 | } |
||||||||
981 | } |
||||||||
982 | |||||||||
983 | return $pager_facet_off; |
||||||||
984 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
985 | |||||||||
986 | /** |
||||||||
987 | * Display facet search. |
||||||||
988 | */ |
||||||||
989 | public function display_facet_search() { |
||||||||
0 ignored issues
–
show
|
|||||||||
990 | ?> |
||||||||
991 | <div class="col-xs-12 facetwp-item facetwp-form"> |
||||||||
992 | <form class="search-form lsx-search-form" action="<?php echo esc_attr( home_url() ); ?>" method="get"> |
||||||||
993 | <div class="input-group"> |
||||||||
994 | <div class="field"> |
||||||||
995 | <input class="facetwp-search search-field form-control" name="s" type="search" placeholder="<?php esc_html_e( 'Search', 'lsx-search' ); ?>..." autocomplete="off" value="<?php echo get_search_query() ?>"> |
||||||||
0 ignored issues
–
show
|
|||||||||
996 | </div> |
||||||||
997 | |||||||||
998 | <div class="field submit-button"> |
||||||||
999 | <button class="search-submit btn" type="submit"><?php esc_html_e( 'Search', 'lsx-search' ); ?></button> |
||||||||
1000 | </div> |
||||||||
1001 | </div> |
||||||||
1002 | </form> |
||||||||
1003 | </div> |
||||||||
1004 | <?php |
||||||||
1005 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
1006 | |||||||||
1007 | /** |
||||||||
1008 | * Display facet default. |
||||||||
1009 | */ |
||||||||
1010 | public function display_facet_default( $facet ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1011 | |||||||||
1012 | $show_collapse = ! isset( $this->options['display'][$this->search_prefix . '_collapse'] ) || 'on' !== $this->options['display'][$this->search_prefix . '_collapse']; |
||||||||
0 ignored issues
–
show
|
|||||||||
1013 | $col_class = ''; |
||||||||
0 ignored issues
–
show
Equals sign not aligned with surrounding assignments; expected 5 spaces but found 1 space
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line. To visualize $a = "a";
$ab = "ab";
$abc = "abc";
will produce issues in the first and second line, while this second example $a = "a";
$ab = "ab";
$abc = "abc";
will produce no issues. ![]() |
|||||||||
1014 | |||||||||
1015 | if ( 'search' === $this->facet_data[ $facet ]['type'] ) : ?> |
||||||||
0 ignored issues
–
show
|
|||||||||
1016 | <?php echo do_shortcode( '[facetwp facet="' . $facet . '"]' ); ?> |
||||||||
1017 | <?php else : ?> |
||||||||
1018 | <div class="col-xs-12 facetwp-item parent-facetwp-facet-<?php echo esc_html( $facet ); ?> <?php echo esc_attr( $col_class ); ?>"> |
||||||||
1019 | <?php if ( ! $show_collapse ) { ?> |
||||||||
0 ignored issues
–
show
|
|||||||||
1020 | <div class="facetwp-collapsed"> |
||||||||
1021 | <h3 class="lsx-search-title"><?php echo wp_kses_post( $this->facet_data[ $facet ]['label'] ); ?></h3> |
||||||||
1022 | <button title="<?php echo esc_html_e( 'Click to Expand', 'lsx-search' ); ?>" class="facetwp-collapse" type="button" data-toggle="collapse" data-target="#collapse-<?php echo esc_html( $facet ); ?>" aria-expanded="false" aria-controls="collapse-<?php echo esc_html( $facet ); ?>"></button> |
||||||||
1023 | </div> |
||||||||
1024 | <div id="collapse-<?php echo esc_html( $facet ); ?>" class="collapse"> |
||||||||
1025 | <?php echo do_shortcode( '[facetwp facet="' . $facet . '"]' ); ?> |
||||||||
1026 | </div> |
||||||||
1027 | <?php } else { ?> |
||||||||
1028 | <h3 class="lsx-search-title"><?php echo wp_kses_post( $this->facet_data[ $facet ]['label'] ); ?></h3> |
||||||||
1029 | <?php echo do_shortcode( '[facetwp facet="' . $facet . '"]' ); ?> |
||||||||
1030 | <?php } ?> |
||||||||
1031 | </div> |
||||||||
1032 | <?php |
||||||||
1033 | endif; |
||||||||
1034 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
1035 | |||||||||
1036 | /** |
||||||||
1037 | * Changes slot column class. |
||||||||
1038 | */ |
||||||||
1039 | public function change_slot_column_class( $class ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1040 | if ( is_post_type_archive( 'video' ) || is_tax( 'video-category' ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1041 | $column_class = 'col-xs-12 col-sm-4'; |
||||||||
1042 | } |
||||||||
1043 | |||||||||
1044 | return $column_class; |
||||||||
1045 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
1046 | |||||||||
1047 | /** |
||||||||
1048 | * Add post type label to the title. |
||||||||
1049 | */ |
||||||||
1050 | public function add_label_to_title() { |
||||||||
0 ignored issues
–
show
|
|||||||||
1051 | if ( is_search() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1052 | if ( ! empty( $this->options['display']['engine_search_enable_pt_label'] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1053 | $post_type = get_post_type(); |
||||||||
1054 | $post_type = str_replace( '_', ' ', $post_type ); |
||||||||
1055 | $post_type = str_replace( '-', ' ', $post_type ); |
||||||||
1056 | if ( 'tribe events' === $post_type ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1057 | $post_type = 'Events'; |
||||||||
1058 | } |
||||||||
1059 | echo wp_kses_post( ' <span class="label label-default lsx-label-post-type">' . $post_type . '</span>' ); |
||||||||
1060 | } |
||||||||
1061 | } |
||||||||
1062 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
1063 | |||||||||
1064 | /** |
||||||||
1065 | * Changes the sort options. |
||||||||
1066 | */ |
||||||||
1067 | public function facetwp_sort_options( $options, $params ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1068 | $this->set_vars(); |
||||||||
1069 | |||||||||
1070 | if ( true === $this->search_enabled ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1071 | if ( 'default' !== $params['template_name'] && 'wp' !== $params['template_name'] ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1072 | return $options; |
||||||||
1073 | } |
||||||||
1074 | |||||||||
1075 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_disable_date' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1076 | unset( $options['date_desc'] ); |
||||||||
1077 | unset( $options['date_asc'] ); |
||||||||
1078 | } |
||||||||
1079 | |||||||||
1080 | if ( ! empty( $this->options['display'][ $this->search_prefix . '_disable_az_sorting' ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1081 | unset( $options['title_desc'] ); |
||||||||
1082 | unset( $options['title_asc'] ); |
||||||||
1083 | } |
||||||||
1084 | } |
||||||||
1085 | |||||||||
1086 | return $options; |
||||||||
1087 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
1088 | |||||||||
1089 | /** |
||||||||
1090 | * @param $allowedtags |
||||||||
1091 | * @param $context |
||||||||
1092 | * |
||||||||
1093 | * @return mixed |
||||||||
1094 | */ |
||||||||
1095 | public function kses_allowed_html( $allowedtags, $context ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1096 | $allowedtags['a']['data-value'] = true; |
||||||||
0 ignored issues
–
show
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line. To visualize $a = "a";
$ab = "ab";
$abc = "abc";
will produce issues in the first and second line, while this second example $a = "a";
$ab = "ab";
$abc = "abc";
will produce no issues. ![]() |
|||||||||
1097 | $allowedtags['a']['data-selection'] = true; |
||||||||
0 ignored issues
–
show
Equals sign not aligned with surrounding assignments; expected 3 spaces but found 2 spaces
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line. To visualize $a = "a";
$ab = "ab";
$abc = "abc";
will produce issues in the first and second line, while this second example $a = "a";
$ab = "ab";
$abc = "abc";
will produce no issues. ![]() |
|||||||||
1098 | $allowedtags['button']['data-toggle'] = true; |
||||||||
1099 | return $allowedtags; |
||||||||
1100 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
1101 | |||||||||
1102 | /** |
||||||||
1103 | * Change FaceWP result count HTML |
||||||||
1104 | */ |
||||||||
1105 | public function get_search_query( $keyword ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1106 | global $wp_rewrite,$wp_query; |
||||||||
1107 | |||||||||
1108 | if ( empty( $keyword ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1109 | if ( ! isset( $wp_rewrite ) || ! is_object( $wp_rewrite ) || ! $wp_rewrite->using_permalinks() ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1110 | return; |
||||||||
1111 | } |
||||||||
1112 | $search_base = $wp_rewrite->search_base; |
||||||||
1113 | if ( strpos( $_SERVER['REQUEST_URI'], "/{$search_base}/" ) !== false ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1114 | $words = explode( "/{$search_base}/", $_SERVER['REQUEST_URI'] ); |
||||||||
0 ignored issues
–
show
|
|||||||||
1115 | $limit = count( $words ); |
||||||||
1116 | if ( isset( $words[ $limit - 1 ] ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1117 | $keyword = $words[ $limit - 1 ]; |
||||||||
1118 | } |
||||||||
1119 | } |
||||||||
1120 | } |
||||||||
1121 | |||||||||
1122 | $needle = trim( '/ ' ); |
||||||||
1123 | $words = explode( $needle, $keyword ); |
||||||||
0 ignored issues
–
show
Equals sign not aligned with surrounding assignments; expected 2 spaces but found 1 space
This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line. To visualize $a = "a";
$ab = "ab";
$abc = "abc";
will produce issues in the first and second line, while this second example $a = "a";
$ab = "ab";
$abc = "abc";
will produce no issues. ![]() |
|||||||||
1124 | if ( is_array( $words ) && ! empty( $words ) ) { |
||||||||
0 ignored issues
–
show
|
|||||||||
1125 | $keyword = $words[ count( $words ) - 1 ]; |
||||||||
1126 | } |
||||||||
1127 | $keyword = str_replace( '+', ' ', $keyword ); |
||||||||
1128 | $keyword = str_replace( '%20', ' ', $keyword ); |
||||||||
1129 | return $keyword; |
||||||||
1130 | } |
||||||||
0 ignored issues
–
show
|
|||||||||
1131 | } |
||||||||
1132 |