Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commitcde8e230fd0735bd8fc60a43623c4468ff41872d (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2020-07-15 11:31:25 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2020-07-15 11:31:25 +0300
Files427af90a566c3aa520450d1ea0abddcf7445cb75
tues-interns-2020-bugfix-universal-search-query.tar
tues-interns-2020-bugfix-universal-search-query.tar.gz
tues-interns-2020-bugfix-universal-search-query.zip
Parente92bf5edfb8e33c9131043b826e0ade9a968fae0 (diff)
Fixed issue, where the vehicles search query was overwriting all other queries. bugfix-universal-search-query
1 files changed, 20 insertions, 15 deletions
-rw-r--r--wp-content/plugins/dx-vehicles/search-class.php35
diff --git a/wp-content/plugins/dx-vehicles/search-class.php b/wp-content/plugins/dx-vehicles/search-class.php
index 43316e5..cab5544 100644
--- a/wp-content/plugins/dx-vehicles/search-class.php
+++ b/wp-content/plugins/dx-vehicles/search-class.php
@@ -7,15 +7,15 @@ class Search {
}
static $tax_vars = array( // tax_name (what is in the request) => tax_key (what is in the database, only hierarchical taxonomies are different from tax_name )
- 'brand' => 'vehicle-type',
- 'category' => 'vehicle-category',
- 'color' => 'vehicle-color',
- 'conditoin' => 'vehicle-condition',
- 'fuel' => 'vehicle-fuel',
- 'gearbox' => 'vehicle-gearbox',
- 'location' => 'vehicle-location',
- 'model' => 'vehicle-type',
- 'type' => 'vehicle-category',
+ 'brand' => 'vehicle-type',
+ 'category' => 'vehicle-category',
+ 'color' => 'vehicle-color',
+ 'conditoin' => 'vehicle-condition',
+ 'fuel' => 'vehicle-fuel',
+ 'gearbox' => 'vehicle-gearbox',
+ 'location' => 'vehicle-location',
+ 'model' => 'vehicle-type',
+ 'type' => 'vehicle-category',
);
static $meta_vars = array( // meta_name (name of post meta, stored in the database) => meta_keys (what is in the request)
@@ -34,6 +34,7 @@ class Search {
);
function register_query_vars( $vars ) { // didn't use array_merge because it caused some problems
+ $vars[] = 'search';
foreach( $this::$tax_vars as $key => $value ) {
$vars[] = $key;
}
@@ -82,22 +83,26 @@ class Search {
}
function pre_get_posts( $query ) {
+ if ( get_query_var( 'search' ) != 'vehicles' ) {
+ return;
+ }
+
$query->set( 'post_type', 'vehicles' );
$tax_query = array();
foreach( $this::$tax_vars as $tax_name => $tax_key ) {
- if( ! empty( get_query_var( $tax_name ) ) ) {
- $tax_query[] = $this->get_slug_taxonomy_array( $tax_key, get_query_var( $tax_name ) );
- }
+ if ( ! empty( get_query_var( $tax_name ) ) ) {
+ $tax_query[] = $this->get_slug_taxonomy_array( $tax_key, get_query_var( $tax_name ) );
+ }
}
$meta_query = array();
foreach( $this::$meta_vars as $meta_name => $meta_keys ) {
- if( ! empty( get_query_var( $meta_keys[0] ) ) || ! empty( get_query_var( $meta_keys[1] ) ) ) {
- $meta_query[] = $this->get_num_meta_array( $meta_name, get_query_var( $meta_keys[0] ), get_query_var( $meta_keys[1] ) );
- }
+ if ( ! empty( get_query_var( $meta_keys[0] ) ) || ! empty( get_query_var( $meta_keys[1] ) ) ) {
+ $meta_query[] = $this->get_num_meta_array( $meta_name, get_query_var( $meta_keys[0] ), get_query_var( $meta_keys[1] ) );
+ }
}
$query->set( 'meta_query', $meta_query );