web-dev-qa-db-fra.com

Interroger tous les messages et ne pas répéter la même balise

J'ai besoin d'une requête pour afficher tous les messages du site mais ne pas répéter ceux avec le même tag, je veux dire ne montrer qu'un seul post avec le même tag.

Ma requête actuelle est

    <?php
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $args = array(
        'post_type' => array('post'),
        'posts_per_page' => 30,
        'paged' => $paged,
        'order' => 'ASC',
        'orderby' => 'name' 
        );
        query_posts($args);
    ?>

Comment puis-je afficher uniquement les publications avec le même tag?

Merci!

2
Mr.CAT

Vous pouvez essayer quelque chose comme ça:

<?php

$tags_array   = get_tags();
$news_query  = new WP_Query;

foreach ( $tags_array as $tags ) :
    $news_query->query( array(
        'cat'                 => $tags->term_id,
        'posts_per_page'      => 1,
        'no_found_rows'       => true,
        'ignore_sticky_posts' => true,
    ));

    ?>

    <h2><?php echo esc_html( $tags->name ) ?></h2>

    <?php while ( $news_query->have_posts() ) : $news_query->the_post() ?>

            <div class="post">
                <?php the_title() ?>
                <!-- do whatever you else you want that you can do in a normal loop -->
            </div>  

    <?php endwhile ?>

<?php endforeach ?>
1
Castiblanco