View difference between Paste ID: 33Vwtdav and fGnaF03y
SHOW: | | - or go back to the newest paste.
1
add_filter('relevanssi_modify_wp_query', 'mrb_tax_query');
2
function mrb_tax_query($query) {
3
    $tax_query = array();
4
    if (!empty($query->query_vars['asset_class'])) {
5
        $tax_query[] = array(
6
            'taxonomy' => 'asset-class',
7
            'field' => 'slug',
8
            'terms' => $query->query_vars['asset_class'],
9
			'operator' => 'IN'
10
        );
11
    }
12
    if (!empty($query->query_vars['region'])) {
13
        $tax_query[] = array(
14
            'taxonomy' => 'region',
15
            'field' => 'slug',
16
            'terms' => $query->query_vars['region'],
17
			'operator' => 'IN'
18
        );
19
    }
20
    if (!empty($query->query_vars['economy'])) {
21
        $tax_query[] = array(
22
            'taxonomy' => 'economy',
23
            'field' => 'slug',
24
            'terms' => $query->query_vars['economy'],
25
			'operator' => 'IN'
26
        );
27
    }
28
    if (!empty($query->query_vars['report_type'])) {
29
        $tax_query[] = array(
30
            'taxonomy' => 'report-type',
31
            'field' => 'slug',
32
            'terms' => $query->query_vars['report_type'],
33
			'operator' => 'IN'
34
        );
35
    }
36
37
    if (!empty($tax_query)) {
38
        $tax_query['relation'] = 'AND'; // you can also use 'OR' here
39
        $query->set('tax_query', $tax_query);
40
		$query->set('orderby', 'date');
41
        $query->set('order', 'DESC');
42
    }
43
    return $query;
44
45
}