web-dev-qa-db-fra.com

Exclure la catégorie du modèle de balise

J'essaie d'exclure une catégorie de mon modèle de tag. La recherche ne me donne rien et reste un peu bloquée. Lorsque j'ajoute le code ci-dessous à mon modèle de tag, il affiche tous les messages ... et j'aimerais vraiment afficher tous les messages avec un tag spécifique, mais pas ceux de la catégorie 433.

<?php $query = new WP_Query( array('cat' => -433, ) ); ?>
                        <?php if ($query->have_posts()) : ?>
                        <?php while ($query->have_posts()) : $query->the_post(); ?>

Donc, cela ne fonctionne pas :) Également essayé celui-ci:

$query = new WP_Query( array( 'category__not_in' => array( 433 ) ) );

Afficher également tous les messages. J'espère que quelqu'un a eu une idée.

1
AKNL

Avez-vous essayé d'utiliser une boucle normale dans votre modèle de balise comme ceci

<?php while ( have_posts() ) : the_post() ?>
    //add content code or template
<?php endwhile; ?>

Et puis en utilisant le filtre pre_get_posts comme ceci

function exclude_category( $query ) {
    if ( $query->is_tag() && $query->is_main_query() ) {
        $query->set( 'cat', '-433' );
    }
}
add_action( 'pre_get_posts', 'exclude_category' );
2
stims