0

I want to put a filter system in my website that contain a search input and list of states, if I choose a state without writing in input it'll give me all posts in that state and if I search for somthing and specifying a state it'll give me what I searched for in the selected state.

the first part work very well but the second (both search and select state) is not working. Am I wrong with my logic in the query ??

my html form:

<div class="filter" data-url="<?php echo $taxonomy_name . '/' .$term_slug. '/' ; ?>" data-filter="<?php echo 'wilaya'; ?>">
    <input type="text" name="s" class="form-control" placeholder="Rechercher">

    <select class="form-control">
        <?php if(!$_GET['wilaya']) : ?>
        <option value="0">Choix</option>
        <?php else : ?>
        <option value="<?php echo $field['value'][0] ?>"><?php echo $field['choices'][$field['value'][0]] ?></option>
        <?php endif; ?>
        <?php foreach ($field['choices'] as $choice_value => $choice_label) : ?>
            <option value="<?php echo $choice_value ?>"> <?php echo $choice_label ?></option>
        <?php endforeach; ?>
    </select>


    <button class="btn btn-default" id="filter-btn">Filtrer</button>

</div>

And my PHP code is (both search and select):

(the tax_query part is responsible of selected state with custom taxonomy)

$term_slug = get_query_var( 'term' );
$taxonomy_name = get_query_var( 'taxonomy' );

$args = array(
        'post_type' => 'centers',
        'orderby' => 'post_id',
        'meta_key'      => 'center_state',
        'meta_value'    => $_GET['state'],
        'order' => 'DESC',
        'meta_query' => array(
               array(
                    'key' => 'center_title',
                    'value' => $_GET['d'],
                    'compare' => 'LIKE'
               )
        ),
        'tax_query' => array(
            array(
                'taxonomy' => $taxonomy_name,
                'field'    => 'slug',
                'terms'    => $term_slug,
            ),
        ),
);

And sorry for my english :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.