カスタム投稿タイプを使って記事を投稿する時は、通常の投稿を表示するテンプレートがあれば、そのテンプレートが使われて表示されます(たいていの場合はsingle.php)。
ですが、もしカスタム投稿タイプのデザインを通常の投稿を表示するテンプレートと違うものを使いたいとなった場合は、single.phpとは違うテンプレートが必要になってきます。
カスタム投稿タイプの投稿を表示するテンプレートの命名ルールはsingleのあとにハイフンとスラッグを追加するだけです。簡単ですね。
カスタム投稿タイプの投稿を表示するテンプレートファイル名
1 2 |
//テンプレートファイル名 single-投稿タイプのスラッグ.php |
例えば、カスタム投稿タイプのスラッグが「erea」なら、「single-erea.php」というファイル名になります。
因みにですが、カスタム投稿タイプの投稿を表示するときに使われるテンプレートの優先順位は次のようになります。
single-slug.php(今回の例でいえば、「slug」のところを「erea」にしています。)
↓
single.php
↓
singular.php
↓
index.php
また、カスタム投稿タイプの投稿を表示するテンプレートは、通常の投稿を表示するテンプレートと基本的には変わりません。
特に、ルールの処理に関しては全く同じと思ってもらっても良いと思います。
なので、カスタム投稿タイプ用の投稿を表示するテンプレートを作成する時は、single.phpをコピーしてファイル名を変え、あとは、HTMLなどを書き換えてデザインを変更すればOKです。
カスタム投稿タイプの投稿ページテンプレートのひな形
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<main> <?php if(have_pos()) :while(have_posts()): the_post(); ?> <article class="content-wrapper"> <header class="content-header"> <div class="title-block"> <h1> <a href="<?php the_permalink(); ?><?php the_title();?></a> </h1> <time class="pubishdate"><?php echo get_the_date();?></time> </div> </header> <div class="content"> <?php the_content(); ?> </div> </article> <?php endwhile; else: ?> <p>投稿はありません。</p> <?php endif; ?> </main> |
上記のテンプレートのひな形はかなりシンプルなものですが、コピペでも使えると思います。ご参考までに。