WordPressにおいてカテゴリーページの作成方法について、2020年時点でオススメなPHPの記述方法について以下にまとめておきたいと思います!

カテゴリーページに表示させたい見本のHTMLコード

 まず、カテゴリーページに表示させたいHTMLコードの見本を以下としたいと思います。

<ul>
	<li><a href="記事ページへURL">記事タイトル</a></li>
	<li><a href="記事ページへURL">記事タイトル</a></li>
	<li><a href="記事ページへURL">記事タイトル</a></li>
	<li><a href="記事ページへURL">記事タイトル</a></li>
	<li><a href="記事ページへURL">記事タイトル</a></li>
</ul>

WordPressの記事を取得・表示させるためのPHPコード

 まず、WordPressにおいてカテゴリーページを作成するにはcategory.phpを作成することで、カテゴリーページはこのPHPファイルを読み込んで表示させてくれるようになります。

そのためcategory.phpにWordPressの記事を取得・表示させるPHPコードを記述することで、カテゴリーページが実装可能になります!

では早速ではありますがWordPressの記事を取得・表示してくれるPHPコードは以下になります!

<?php
	$paged = get_query_var('paged')? get_query_var('paged') : 1;
	$cat_now = get_queried_object();
	$args = array(
		'cat' => $cat_now->cat_ID,
		'post_type' => 'post',
		'posts_per_page' => 10,
		'paged' => $paged
	);
	$myposts = new WP_Query($args);
?>
<?php if($myposts->have_posts()): ?>

	<ul>

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

			<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

		<?php endwhile; ?>

	</ul>

<?php endif; wp_reset_postdata(); ?>

条件に合った場合に記事一覧を表示

 上記のPHPコードにおいて1〜11行目にてカテゴリーページにおける表示条件を指定しています。

そのうえで12行目の

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

と24行目の

<?php endif; wp_reset_postdata(); ?>

にて該当する記事がある場合は記事一覧を表示させる…という設定にしています。

そのため、もし該当する記事がない場合は記事一覧のHTML自体が出力されないという仕様になっています!

表示件数の設定

 続いて表示件数を指定しているのが見本コードの7行目に記述してある

'posts_per_page' => 10,

になります。

今回はカテゴリーページにて10件の記事を表示させたい…という前提で10という数値を設定しましたが、例えば5件表示させたい場合は

'posts_per_page' => 5,

と数字を変えてあげることで表示件数を5件にすることができます。

また、カテゴリーページにて記事全件表示させたい場合は

'posts_per_page' => -1,

-1を設定することで記事全件を表示させることも可能になります!
(が、記事全件表示はページ自体の表示スピードを遅くする恐れがあるので、あまりオススメはできません…)

ループ(繰り返し)で表示させたい要素を記述

 実際の記事一覧部分、ループ部分に関しては見本コードの16行目

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

と20行目

<?php endwhile; ?>

の間に記述したものが表示件数分表示されるようになります!

ので、ここに記事一覧のメイン部分

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

を記述することでループで表示させることが可能になります!

まとめ

 急ぎ足にはなりましたが、上記のコードをcategory.phpに記述することで該当するカテゴリーの記事一覧を取得・表示してくれるようになるので、ご参考になれれば…と思います。。。!

スポンサーリンク