I tried this out on a local test site and it turns out you will need some custom code after all, because in the context we will be using it the wpv-conditional shortcode doesn't allow "IN" comparisons, only simple comparisons such as = or !=.
That taxonomy filter when applied adds a URL parameter with the values of the checked terms, e.g. on my test site where I'm using a colour taxonomy it adds a parameter such as ?wpv-colour[]=red, orange.
So when it comes to deciding whether to display columns or not, we can listen out for that URL parameter, and (per my example) only display the red and orange columns, because those are the terms checked on the filter. But we also need to allow for when the page first loads with no URL parameter, when all columns should be shown.
So, we'll have our conditional test (which I'll return to in a moment).
If you have a View with sortable columns then the Loop Editor will have added markup for the table header with a th tag for each column heading. So you'll need to wrap each of the relevant table headings inside a conditional which determines whether it should be displayed or not.
And then you'll need to add the same conditions to the loop section where the rows are output inside td tags.
So, to the conditions.
You can output a URL parameter with the wpv-search-term shortcode (https://toolset.com/documentation/user-guides/views/views-shortcodes/#wpv-search-term).
You'll need to check the URL parameter added for the taxonomy when performing a search, it will be something like wpv-warehouse (you can also see it when editing the View settings for the custom search filters).
We need to register a custom shortcode to be able to perform an IN type comparison, which you can do with this code:
add_shortcode('has-term', function ($atts = [], $content = null) {
$return = 0;
if ( isset( $atts['term'] ) && !is_null( $content ) ) {
$terms = explode( ', ', $content );
if ( in_array( $atts['term'], $terms ) ){
$return = 1;
}
}
return $return;
});
Go to Toolset > Settings > Front-end Content and register the shortcode "has-term" under "Third-party shortcode arguments".
It requires you to specify the term you want to test for with a "term" attribute, and to pass the list to check against (generated by the wpv-search-term shortcode) as the content of the shortcode (i.e. the shortcode needs to be closed).
On my test site here's an example test:
[wpv-conditional if="( '[wpv-search-term param='wpv-colour']' eq '' ) OR ( '[has-term term='red'][wpv-search-term param='wpv-colour'][/has-term]' eq '1' )"]
content for red
[/wpv-conditional]
Remember you need to use the condition on the table header and the table row cell.
I'm testing whether no taxonomies have been specified (first page load), or whether the 'red' term has been applied, which I wrap around the header and the row cell that I want to display when red is checked.
That's pretty much all there is to it.