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.

Aucune réponse