Bonjour tous le monde !
J'essaye de faire un moteur de recherche (du genre filtre) avec des ACF.
Toute la recherche se fait sur la page archive-immo.php
J'utilise le hook pre_get_posts afin de faire mes requêtes :
function my_pre_get_posts( $query ) {
// do not modify queries in the admin
if( is_admin() ) {
return $query;
}
// only modify queries for 'event' post type
if( isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == 'immo' AND is_post_type_archive('immo') AND $query->is_main_query()) {
// allow the url to alter the query
if (!empty($_POST)) {
foreach ($_POST as $key => $value) {
if ($key == 'type_immo') {
$_POST[$key] = filter_var(trim($value), FILTER_SANITIZE_NUMBER_INT);
} else {
$_POST[$key] = filter_var(trim($value), FILTER_SANITIZE_STRING);
}
}
/*$query->set( 'meta_query', array(
array(
'key' => 'achat_ou_location',
'value' => $_POST['achat_ou_loc'],
)
) );*/
$query->set('meta_key', 'achat_ou_location');
$query->set('meta_value', $_POST['achat_ou_loc']);
if (!empty($_POST['type_immo'])){
$query->set('tax_query', [
'taxonomy' => 'typeimmo',
'field' => 'term_taxonomy_id',
'terms' => $_POST['type_immo'],
'operator' => 'IN'
]);
}
// $query->set('suppress_filters', true);
}
}
// return
return $query;
}
add_action('pre_get_posts', 'my_pre_get_posts');
Les codes en commentaires se sont d'autre façon que j'ai essayé... mais rien ne fonctionne :( achat_ou_location est un select type ACF
Cordialement.