Ne pas montrer une taxonomie dans un query_posts

Résolu
Shuta Messages postés 217 Statut Membre -  
Shuta Messages postés 217 Statut Membre -
Bonjour,

Alors voilà je tourne autours depuis quelques jours, et je n'arrive vraiment pas à trouver de solution....

En fait, il s'agit d'un peu plus que de ne pas faire apparaître une taxonomie personnalisé.
Entre autre, je vais poser les choses à plat :

Cette image présente mes catégories présentes dans l'onglet "Catégorie" (basique à wordpress)


Comme on peut le voir, l'ID de "non-répertorié" est le 6.
Ensuite j'ai ceci !


Ceci est une taxonomie créée avec comme nom de taxonomy 'spe-categorie'. Et on peut voir que la catégorie +18 à pour ID 17.

Tout ceci dans le but que, en fait, sur ma page d'accueil je veux montrer toutes les catégories, sauf la 6 ("non-répertorié") et la 17 ("+18").

J'ai pour le moment dans mon code (oui c'est très rustique) :
query_posts( array ( 'cat' => '-6', 'posts_per_page' => 15, 'paged' => get_query_var('page') ) );


Qui vire très bien la catégorie "non-répertorié". Malheureusement je n'arrive pas à faire en sorte de faire disparaître la "+18"

J'ai bien essayé plusieurs méthodes dont :
query_posts( array ( 'cat' => '-6', 'tax_query' => array( 'taxonomy' => 'spe-categorie', 'field' => 'term_id', 'terms' => array( -17 ), ) , 'posts_per_page' => 15, 'paged' => get_query_var('page') ) );


Mais rien ne se passe....

Est ce que vous pouvez m'aider, s'il vous plaît, à corriger mon souci...

Bonne journée !

1 réponse

  1. elgazar Messages postés 5776 Date d'inscription   Statut Membre Dernière intervention   1 330
     
    Bonjour

    pour exclure les deux catégories, il suffit normalement de les mettre toutes les deux dans le array cat en les séparant par une virgule
    query_posts( array ( 'cat' => '-6,-17'
    }


    1
    1. Shuta Messages postés 217 Statut Membre 3
       
      Bonjour,

      J'ai essayé cette méthode mais malheureusement ça ne marche pas...
      La catégorie 17 fait partie d'une autre taxonomie que "Catégorie", du coup elle ne le reconnaît pas... C'est embêtant...
      0
      1. elgazar Messages postés 5776 Date d'inscription   Statut Membre Dernière intervention   1 330 > Shuta Messages postés 217 Statut Membre
         
        dans ce cas, essaye le terme "+18" (si c'est le nom de la catégorie 17) dans le array de terms
        0
    2. Shuta Messages postés 217 Statut Membre 3
       
      Ah ! En trifouillant un peu plus j'ai trouvé ! Voici mon code exact et il fonctionne à merveille !

      query_posts( array ( 
              'cat' => '-6',
              'tax_query' => array( array(
                'taxonomy' => 'spe-categorie',
             'terms' => 'adult',
             'field' => 'slug',
             'include_children' => true,
             'operator' => 'NOT IN',
              ) ),
              'posts_per_page' => 15,
              'paged' => get_query_var('page') 
            ) );


      NOT IN permet de l'exclure de la sélection =)

      Enfin voilà !
      En tout cas, tu m'as grandement aidé ! Merci beaucoup !
      0