サポート » 使い方全般 » 複数のカスタム投稿でタクソノミーごとのそれぞれの記事一覧を1ページに取得

  • 解決済 morisaki

    (@morisaki)


    Custom Post Type UIで、
    カスタム投稿タイプを複数作り、カテゴリの変わりにカスタムタクソノミーでタームを作りました。
    記事一覧のページとして、
    投稿タイプAだけのタクソノミーAのタームA一覧、タームB一覧を一度に表示したい場合、どのように記述すれば良いでしょうか
    現在、archive-投稿タイプA.phpで以下のように記述していますが、投稿タイプA,B,Cの記事が全て表示されてしまいます
    また、記事がなかった場合に「記事はありません」と表示したいのですが、どのようにelseを追加すれば良いでしょうか
    初心者のような質問で申し訳ありません
    よろしくお願い致します

    <?php
     $args = array(
       'parent' => 0,
       'hierarhical' => 0,
       'orderby' => 'id',
       'order' =>'ASC'
      );
      $taxonomy_name = 'タクソノミーA';
      $taxonomys = get_terms($taxonomy_name,$args);
      if(!is_wp_error($taxonomys) && count($taxonomys)):
            foreach($taxonomys as $taxonomy):
            $url = get_term_link($taxonomy->slug, $taxonomy_name);
            $tax_posts = get_posts(array(
              'post_type' => get_post_type('投稿タイプA'),
              'posts_per_page' => 20,
              'tax_query' => array(
                array(
                  'taxonomy' => 'タクソノミーA',
                  'terms' => array($taxonomy->slug),
                  'field' =>'slug',
                  'include_children' => true,
                  'operator' => 'IN'
                ),
                'relation' =>'AND'
              )
            ));
            if($tax_posts):
    ?>
    <h4><?php echo($taxonomy->name); ?></h4>
    <?php foreach($tax_posts as $tax_post): setup_postdata($tax_post); ?>
    <a href="<?php the_permalink() ?>"><?php echo get_the_title($tax_post->ID); ?></a>
    <?php endforeach; ?>
    <?php endif;
     endforeach;
     endif; ?>
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック投稿者 morisaki

    (@morisaki)

    説明がわかりにくくてすみません
    投稿タイプA,投稿タイプB,投稿タイプCでタクソノミーAを使用し、タームA,タームBにそれぞれの投稿タイプから記事を投稿しています
    それぞれの投稿タイプで一覧を別にしたい場合、
    投稿タイプAにはタクソノミーA
    投稿タイプBにはタクソノミーB
    投稿タイプCにはタクソノミーC
    という風にわけるべきでしょうか?

    トピック投稿者 morisaki

    (@morisaki)

    タクソノミーからわけることで解決いたしました。ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「複数のカスタム投稿でタクソノミーごとのそれぞれの記事一覧を1ページに取得」には新たに返信することはできません。