diff options
| Commit | cde8e230fd0735bd8fc60a43623c4468ff41872d (patch) | |
|---|---|---|
| Author | 2020-07-15 11:31:25 +0300 | |
| Committer | 2020-07-15 11:31:25 +0300 | |
| Files | 427af90a566c3aa520450d1ea0abddcf7445cb75 | |
| 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 | ||
| Parent | e92bf5edfb8e33c9131043b826e0ade9a968fae0 (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.php | 35 |
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 ); |
