Bonjour,
J'essaye de faire une recherche par tag sélectionné avec des checkboxes.
Quand j'utilise les tag id, il ne me retourne rien dans le résultat de ma recherche.
Quand j'utilise les tag slug, cela fonctionne avec 1 tag sélectionné. Si j'en sélectionne 2, ca me retourne tous les résultats qui ont un tag OU l'autre.
J'aimerais que cela me retourne tous les résultats qui ont les 2 tags (ou plus) sélectionnés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // advanced search functionality function advanced_search_query($query) { if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) { $paramTagList = $_GET['tag']; // tag search if (isset($paramTagList)) { $query = new WP_Query( array( 'tag_slug__and' => $paramTagList ) ); //$query = new WP_Query( array( 'tag__and' => $paramTagList ) ); } return $query; } } add_action('pre_get_posts', 'advanced_search_query');
Pourtant "tag_slug__and" devrait faire un "ET", alors que "tag_slug__in" devrait faire un "OU" selon la documentation.
La, "tag_slug__and" et "tag_slug__in" font des "OU": si Post contient Tag1 OU Tag2, affiche le résultat.
Idéalement j'utiliserais "tag__and" si cela fonctionnait.
Qu'est-ce que je fais de faux ou ne comprends pas?
Merci d'avance
Partager