web-dev-qa-db-fra.com

Exclure la balise de taxonomie personnalisée de la boucle

J'ai le code suivant au début d'une boucle:

<?php query_posts('showposts=3&cat=84'); ?>
<?php $posts = get_posts('category=84&numberposts=3&offset=0'); foreach ($posts as $post) : start_wp(); ?>

J'ai une taxonomie personnalisée appelée "display", avec une balise appelée "Featured-slider". Dans cette boucle, je veux tout inclure de la catégorie 84, mais je veux tout exclure avec une valeur "vedette-curseur" dans la taxonomie "afficher".

Comment pourrais-je réécrire les deux lignes ci-dessus (query_posts et get_posts) pour exclure correctement la taxonomie personnalisée?

je vous remercie

1
Sarah

J'ai réécrit le query_posts. En ce qui concerne get_posts, vous feriez mieux d'utiliser WP_Query en raison d'un contrôle accru sur tax_query. Expliqué ici .

<?php
$args = array(
    'cat' => 84,
    'posts_per_page' => 3,
    'offset' => 0,
    'tax_query' => array(
        'relation' => 'NOT IN',
        array(
            'taxonomy' => 'display',
            'field' => 'slug',
            'terms' => 'featured-slider'
        )
    )
);
$wpse42083_query = new WP_Query( $args );
while( $wpse42083_query->have_posts() ) : $wpse42083_query->the_post();
    // write post stuff in here
endwhile;

// Reset Post Data
wp_reset_postdata();
?>

Edit: j'ai ajouté l'utilisation.

4
Evan Yeung