ホーム > HP戦略 > WordPressでカテゴリー別記事ページを作成する方法

WordPressでカテゴリー別記事ページを作成する方法

【 2017年2月 3日 松田税理士事務所】

 ブログソフトと言えば、昔はMovableTypeが主流でしたが、今はWordPressです。ブログソフトの代名詞と言ってもいいかもしれません。昨年の秋にWordPressに移行するまでは、私はずっとMovableTypeを使っていました。ライセンス契約切れのタイミングでWordpressに移行しました。

 同業者や趣味のブログを見ていて、いつも思っていたことは、WordPressのブログには過去記事一覧やカテゴリ別過去記事一覧のページが少ないということです。アクセシビリティを考えると、過去記事一覧やカテゴリ別過去記事一覧のページは必須と思うのですが、意外にこれらのページを設置しているブログは見かけないのです。
 その原因として、WordPressのテーマ自体にそのようなページがそもそもないのが原因だと思います。理由はいろいろあるのかもしれませんが、「ページが重たくなる」ことを避けるためではないかと思います。ページを動的生成しているWordPressの欠点です。これが、私が長年WordPressを避けてきた理由でもあります。ちなみにMovableTypeはHTMLを静的生成しています。

 ページを動的生成するWordPressの場合、何千ページもあるサイトでは、そもそもサーバーに負担がかかり、過去記事一覧やカテゴリ別過去記事一覧のページを設置するのが現実的に難しいのかもしれません。しかし、ページがそれほど多くなく、サーバー環境が許すのなら、過去記事一覧やカテゴリ別過去記事一覧を設置するのが、アクセシビリティの観点から良いと思います。

 というわけで、本日のエントリーは、Wordpressでカテゴリー別過去記事一覧のページを作成する方法を解説します。(過去記事一覧ページの作成方法は後日の予定です。)

カテゴリー別記事一覧表示のソースコード

結論から言うと、以下のソースコードにより「カテゴリー別過去記事一覧」のページを作成することができます。

 表示件数の設定は、11行目の「'&numberposts=100」で設定します。0に設定すると全ページ表示されます。
「&orderby=date&order=DESC');」は表示順の設定です。以下のソース場合は、各カテゴリーごとに100ページまで、投稿日順に表示されます。3行目「get_categories();」で全カテゴリーの情報を取得します。
<h3 class="page-title"><?php the_title(); ?></h3>
			<?php
			$cats = get_categories('parent=0&hide_empty=0');
			foreach ($cats as $cat) :
				$desc_cats = get_categories('child_of=' . $cat->term_id);
				$desc_cat_ids = array($cat->term_id);
				foreach ($desc_cats as $desc_cat) {
					array_push($desc_cat_ids, $desc_cat->term_id);
				}
				$desc_cat_ids_str = implode(',', $desc_cat_ids);
				$cat_posts = get_posts('category=' . $desc_cat_ids_str . '&numberposts=100&orderby=date&order=DESC');
				if ($cat_posts) : ?>
				<h2><a href="<?php echo get_category_link($cat->term_id) ?>"><?php echo $cat->name; ?></a></h2>
					<ul>
					<?php foreach ($cat_posts as $post) : setup_postdata($post); ?>
						<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>(<?php the_time('Y年m月d日'); ?>)</li>
					<?php endforeach; ?>
					</ul>
				<?php endif; ?>
			<?php endforeach; ?>

Simplicityテーマの設定

 このブログは、Simplicityというテーマを使っています(2017年12月3日現在)。このテーマの場合は、以下のように設定することによりカテゴリー別記事一覧ページを作成することができます。PHPファイルを作成して「page-template」フォルダにアップロードします。(herder,footerなどは、メインインデックスファイルを参考に作ります。) 次に、固定ページで新規追加をクリックして、テンプレートから作成したファイル名を選択すると完了です。当ブログのカテゴリ別記事一覧ページはこちらです。



 カテゴリー別過去記事一覧のページと同様に大切なのでが、過去記事一覧です。次回のエントリーでは、過去記事一覧ページの作り方を書いてみたいと思います
参考にしたサイト
WordPress Codex 日本語版




最新のエントリー

カテゴリー


最近のコメント


月別アーカイブ

Sponsor


リンク

税理士 豊中