Afficher 10 les plus récents types de postes personnalisés à l'exclusion des un (s) de taxonomie spécifique personnalisée
-
22-10-2019 - |
Question
Après avoir passé la majeure partie de la journée à la recherche de solutions et de les essayer, j'ai décidé d'expliquer mon problème.
Je suis conscient que ce sujet a été couvert et que vous verrez que je suis en utilisant le code qui a été suggéré ici et plus à ottopress, mais je ne peux toujours pas comprendre.
J'ai un type de poste personnalisé appelé « examen » (non hiérarchique) J'ai une taxonomie personnalisée appelée « reviewcats » (hiérarchique) J'ai tout un tas de conditions dans la taxonomie dont 3 sont les principaux et les enfants de repos:
- en vedette
- applications (contenant les enfants)
- jeux (contenant les enfants)
Sur mon modèle de page d'accueil, je suis première présentation du dernier examen (type sur mesure post) qui a le terme « vedette » de la taxonomie « reviewcats ». Cet examen contient également des applications 'les termes et un enfant de celui-ci.
Dans le cadre de la fonction, je voudrais montrer les commentaires des 10 derniers (type), après la coutume mais pas celui d'en haut, celle avec le terme « en vedette »
J'ai essayé avec le code ci-dessous (et de nombreuses variantes de celui-ci), mais ne peut pas y arriver. Quelqu'un peut-il me faire la lumière sur ce sujet sombre pour s'il vous plaît? Très apprécié!
$recentapps_query['tax_query'] = array(
'relation' => 'AND',
array(
'post_type' => 'review',
'post_status' => 'publish',
'posts_per_page' => 10,
),
array(
'taxonomy' => 'reviewcats',
'terms' => array('featured'),
'field' => 'slug',
'operator' => 'NOT IN',
),
);
query_posts($recentapps_query);
si nécessaire, le site est bac à sable http://senl.in/jOaalP
La solution
Tout d'abord, votre requête d'impôt est un peu pêle-mêle. Le premier tableau imbriqué devrait en fait être à la « racine » de votre argument query_posts()
, avec tax_query
comme une clé parmi eux;
array(
'post_type' => 'review',
'post_status' => 'publish',
'posts_per_page' => 10,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'reviewcats',
'terms' => array( 'featured' ),
'field' => 'slug',
'operator' => 'NOT IN',
)
)
);
Cependant , pardonnez-moi si je me trompe, mais je pense que votre requête pourrait être beaucoup plus simple - simplement exclure la « vedette » revue, vous avez seulement pris;
query_posts( array(
'post_type' => 'review',
'post_status' => 'publish',
'post__not_in' => array( $post->ID ) // $post *should* be the featured review, since it was the last post queried/worked on
) );