WordPressのオリジナルテーマを作成しているけどカテゴリーのアーカイブページや個別ページの作成方法が分からない……
今回はこのようなお悩みをお持ちの方に向けて、WordPressで
- カテゴリーアーカイブページ
- カテゴリー個別ページ
を作成する方法を解説します。
- カテゴリーのアーカイブページを作成する方法
- カテゴリーの個別ページを作成する方法
- 作成した各ページをリンクで繋ぐ方法
- 特定のカテゴリー専用のアーカイブページを作成する方法
作業全体の流れ
- カテゴリーのアーカイブページ用のファイルを用意する
- カテゴリーの個別ページ用のファイルを用意する
それでは順番に解説していきます。
【手順①】カテゴリーのアーカイブページ用のファイルを用意する
早速ですが、ここから実際に必要なファイルの作成を行っていきます。
それでは実際にファイルを作成する手順をご説明します。
テーマディレクトリ直下にカテゴリーアーカイブ用のPHPファイル(テンプレートファイル)を作成します。
このとき、ファイル名は
category.php
として下さい。
ファイルを作成した様子
category.phpを作成することで、カテゴリーアーカイブページへアクセスしようとしたとき、WordPressが自動で判断してcategory.phpを呼び出してくれます。
category-[カテゴリーのスラッグ].php
(例)カテゴリーのスラッグが「sample」の場合
category-sample.php
こうすることで、そのカテゴリーのアーカイブページへアクセスしようとしときには、「category-[カテゴリーのスラッグ].php」が呼び出されるようになります。
続いて作成したファイルの中に以下のソースコードを記述します。
<?php get_header(); ?>
<?php if ( have_posts() ) : ?>
<!-- ループを回してカテゴリーの各記事を出力 -->
<?php while ( have_posts() ) : the_post(); ?>
<p>
<!-- 個別ページへのリンク -->
<a href="<?php the_permalink(); ?>">
<!-- 記事タイトル -->
<?php the_title(); ?>
</a>
</p>
<?php endwhile; ?>
<?php endif; ?>
<?php get_footer(); ?>
【手順②】カテゴリーの個別ページ用のファイルを用意する
【手順①】でカテゴリーアーカイブページが作成できました。
続いては、アーカイブページで生成している個別リンクから繋がる個別ページを作成していきます。
個別ページ用のPHPファイル(テンプレートファイル)を作成します。
このとき、ファイル名は
single.php
として下さい。
ファイルを作成した様子
single.phpはWordPress上では「投稿」の個別ページ用ファイルとして認識されます。
つまり、【手順①】で生成されたリンクがクリックされて個別ページへアクセスしようとすると、このsingle.phpが呼び出されます。
※すでにsingle.phpが作成済みであれば、この【手順②】の作業は不要ということになります。
(必要に応じて以下のSTEP2のソースコードに記載の「アーカイブページへのリンク」部分を既存のsingle.phpに追記してください)
続いて作成したファイル(single.php)の中に以下のソースコードを記述します。
<?php get_header(); ?>
<!-- タイトル -->
<?php the_title(); ?>
<!-- カスタム投稿本文 -->
<?php the_content(); ?>
<!-- アーカイブページへのリンク -->
<?php
$cat = get_the_category()[0];
$cat_id = $cat->cat_ID;
?>
<a href="<?php echo get_category_link( $cat_id ); ?>">カテゴリーアーカイブへのリンク</a>
<?php get_footer(); ?>
以上で個別ページの作成も完了です!
今回紹介したソースコードではアーカイブページと個別ページ間を行き来できるよう両方にお互いのリンクを設置しました。
まとめ
以上がカテゴリーのアーカイブページと個別ページを作成する方法でした!
改めて大まかな手順を見てみましょう。
- カテゴリーのアーカイブページ用のファイルを用意する
- カテゴリーの個別ページ用のファイルを用意する
分からないときは難しく感じる作業も、このように手順が明確化するとハードルが下がります。
この記事をご覧いただき、その一助となったなら幸いです。
それでは、最後までご覧いただきありがとうございました!
当ブログではWordPressやWeb制作、PHPに関するお役立ち情報を発信しています。
ご興味のある方はぜひほかの記事もご覧いただけると嬉しいです。
コメント