タイトルわかりづらいかもしれません。要するに、、
ここに「ニュース(news)」「お弁当(bento)」というカスタム投稿タイプを持ったサイトがあるとします。
ニュースの投稿に「お弁当」というタグを付けると、お弁当の一覧(archive.php)にそのニュースのタイトルと日付と・・・が表示されるというわけです!
それでもわかりづらいな。
※あらかじめnewsには「お弁当(tags-bento)」というタグを作成しておきます。
コードはこれ。お弁当の一覧に表示させるため、archive.phpに追加しました。
<?php $slug = explode('/', $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); $archive_slug = $slug[1]; // https://sample.com/bento/の"bento"を取得。 $archive_tags_slug = 'tags-'.$archive_slug; //tags-bentoを作成。 //news投稿の中でtags-bentoがついた投稿を抽出。 query_posts( array( 'post_type' => 'news', 'tags_topics' => $archive_tags_slug, 'paged' => $paged, 'orderby' => 'date', 'order' => 'DESC' )); //現在のpost_type "bento"を定義。(newsクエリー内でも使えるように) $obj = get_post_type_object( $archive_slug ); $post_type = $obj->labels->singular_name; if(have_posts()): ?> <div id="tag_list"> <h2><span><?php single_tag_title(); ?>関連の投稿</span></h2> <ul> <?php while(have_posts()):the_post();?> <li><?php echo get_the_date('Y.m.d');?> <a href="<?php the_permalink();?>"><?php the_title();?></a></li> <?php endwhile; ?> </ul> </div> <?php endif; wp_reset_query(); ?>
一度に別の投稿タイプを動かすため、post_typeの値が混乱しちゃいます。
だからめんどくさいけどそのページのURLから取ってくるというやり方で解決しました・・・。
もっといいやり方があるのかも?