add_filter( 'wpv_filter_query', 'wpv_atributs_serveis_negocis_wp', 99, 3 );
function wpv_atributs_serveis_negocis_wp( $query_args, $view_settings, $view_id ) {
if ($view_id == 3900 && isset($_GET['wpv-wpcf-altres-serveis-del-negoci'])) {
$my_args = array('relation' => 'AND');
foreach($_GET['wpv-wpcf-altres-serveis-del-negoci'] as $offre){
$my_args[] = array(
'key' => 'wpcf-altres-serveis-del-negoci',
'value' => $offre,
'compare' => 'LIKE',
);
}
$query_args['meta_query'][] = $my_args;
foreach($query_args['meta_query'] as $k=>$v){
if(isset($v['key']) && $v['key'] == 'wpcf-altres-serveis-del-negoci'){
unset($query_args['meta_query'][$k]);
}
}
}
return $query_args;
}
Nota: wpv-wpcf-altres-serveis-del-negoci es el parámetro URL y wpcf-altres-serveis-del-negoci es el nombre del campo personalizado.
Visto en https://toolset.com/forums/topic/how-to-filter-by-more-than-one-checkbox/#post-631805