web-dev-qa-db-ja.com

すべての投稿をクエリし、同じタグを繰り返さない

サイト内のすべての投稿を表示するにはクエリが必要ですが、同じタグを持つ投稿を繰り返す必要はありません。つまり、同じタグを持つ投稿を1つだけ表示するということです。

私の現在の質問は

    <?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);
    ?>

同じタグの投稿のみを表示するにはどうすればよいですか。

ありがとうございます。

2
Mr.CAT

あなたはこのようなことを試すことができます:

<?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