循环浏览类别时,避免出现重复的帖子-Wordpress

时间:2018-07-08 13:03:57

标签: php wordpress custom-post-type

我正在尝试创建一个页面,该页面显示自定义帖子类型,并且可以按类别进行过滤。

该代码应该使用“ catalog”类创建一个div,并存储每个新帖子在数据组中选择的所有类别,因此我可以将其用于过滤。

我的问题是,与其创建具有所有类别的一个div,不如创建重复项。如果我为帖子选择2个类别,则会创建2个div,并为3个类别创建3个div,依此类推...

我想我理解为什么它会创建多个div,但是我无法解决问题。

<?php
 $categories = get_categories();
 foreach($categories as $category):
   $args = array(
     'post_type' => 'my_post_type',
     'category_name' => $category->name,
     'orderby' => 'title',
     'order'   => 'ASC',
   );

    $the_query = new WP_Query( $args ); ?>

    <?php if ( $the_query->have_posts() ) : ?>

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

      $title = get_field('title');
      $link = get_field('link');

      ?>
        <div class="catalog" data-groups="[&quot;all&quot;,<?php
         foreach((get_the_category()) as $test) {
         echo '&quot;' . $test->name . '&quot;';
         }
         ?>]">
          <h4><?php echo the_title();?></h4><img src="<?php echo $title; ?>">
            <input id="checkbox <?php echo the_title();?>"  type="checkbox">
            <label for="checkbox <?php echo the_title();?>"></label>
          <a href="<?php echo $link; ?>">...</a>

        </div>

        <?php endwhile; ?>

        <?php wp_reset_postdata(); ?>

    <?php else : ?>
        <p><?php esc_html_e( 'Error.' ); ?></p>
    <?php endif; ?><?php endforeach; ?>

0 个答案:

没有答案