Skip Navigation

[Gelöst] Exclude some taxonomy terms from filter search….

This support ticket is created vor 9 Jahre. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Hong_Kong (GMT+08:00)

This topic contains 3 Antworten, has 3 Stimmen.

Last updated by tylerG vor 9 Jahre.

Assigned support staff: Luo Yang.

Author
Artikel
#203766

Hi,

We have a search form with multiple filter...

We want to exclude some terms from the search result...

Ex.:

CARS
- Honda
- Toyota
- Hyundai
- Kia

Si we search in taxonomy CARS but we want to exclude Toyota and Hyundai

In image attached it's the wpv-mobilier taxonomy that we want to exclude some terms

Is it possible to do?

Thanks

#204079

Luo Yang
Supporter

Languages: Englisch (English ) Vereinfachtes Chinesisch (简体中文 )

Timezone: Asia/Hong_Kong (GMT+08:00)

Hi Jean,

Please try Views filter hook wpv_filter_query, like this:
Add codes in your theme/functions.php:

add_filter( 'wpv_filter_query', 'exclude_terms_func', 10, 3 );
function exclude_terms_func($query, $setting, $views_ID)
{
	if($views_ID == 123)
	{
		$query['tax_query'][] = array(
			'taxonomy' => 'mobilier',
			'field' => 'slug',
			'terms' => array( 'toyota', 'hyundai' ),
			'operator' => 'NOT IN'
		);
		$query['tax_query']['relation'] = 'AND';
	}
	return $query;
}

Please replace 123 with your views post ID, replace "mobilier" with your custom taxonomy slug

More help:
https://toolset.com/documentation/user-guides/views-filters/wpv_filter_query/

#204148

Wow, that's working.

thanks

#1140501

This is great! I was able to change the Operator to "In" to only include specific terms. The best thing about this snippet is that I can still use the Query Filter option for the parametric search. Thanks!