この記事では、Wordpressでプラグインを使わずに、サイトマップとして機能するカテゴリ一覧を表示させる方法を紹介します。
ブログをもっと見てもらうためには、どんな事が書いてあるブログなのかすぐに分かるように、カテゴリやタグなどのナビゲーションメニューをつけるのが当たり前になっています。
メニューボタン形式は、階層化されたカテゴリーが増えてくると、どんな事が書いてあるのか全体がわかりにくくなります。
ブログの全体像がひと目で分かるようにカテゴリ一覧を設置しておくと、訪れた読者に「こんな記事も書いてますよ」と、別の興味ある記事を発見してもらいやすくなります。さらにSEO的にも有利に働きます。
カテゴリ一覧(サイトマップ)専用ページを作成し表示する方法を紹介します。
もくじ
カテゴリ一覧を表示する方法
今回作るカテゴリ一覧は、Wordpressのプラグインを使わずに、サイトマップ形式で全カテゴリーをリスト表示するものです。
作成方法の流れは、このような順番で行います。
- 新規固定ページを作成
- page.phpファイルを子テーマフォルダへコピー
- 子テーマフォルダへコピーしたpage.phpを編集
固定ページの表示形式を決めるテンプレートファイルを編集して、カテゴリ一覧のページにのみ、自動取得した全カテゴリーをリスト形式で表示します。
「page.php」を編集して、カテゴリーリストを取得するコードを追加します。
子テーマにコピーしたことで、Wordpressのサイドメニュー 外観 テーマの編集 から直接編集することができるようになっているはずです。
使っているテーマによって「page.php」の内容は、全く違ったものになっていると思いますが、コードを追加する場所は、<?php the_content(); ?>の下です。
当サイトが使っているテーマ「Simplicity2」では、34行目でした。
この位置に下記のコードを追加します。
<?php if (is_page('sitemap')) { ?> <ul class="cat-list"> <?php wp_list_categories('title_li=&show_count=1&depth=2'); ?></ul> <?php }; ?>
最後に ファイルを更新を押して保存すると完了です。
完成したカテゴリ一覧は、このようにリスト表示されます。
クラスが指定してあるので、CSSなどを使ってお好みの表示形式に装飾することができます。
コードの解説
page.phpに追加したコードの解説です。
page.phpファイルは、投稿される記事のテンプレートとして読み込まれるファイルです。
ただ単にコードを追加しただけでは、全てのページにカテゴリ一覧が表示されてしまうため、カテゴリ一覧の固定ページにのみ表示させる必要があります。
<?php if (is_page('sitemap')) { ?> //ここにコードを追加挿入。 <?php }; ?>
条件分岐用のコードをつかって、固定ページのスラッグが「sitemap」だった場合にのみ、追加挿入されたコードを実行させます。
この識別のために、固定ページのスラッグを「sitemap」へ変更していました。
カテゴリ情報の取得するために追加挿入するコードは、このようになります。
<ul class="cat-list"> <?php wp_list_categories('title_li=&show_count=1&depth=2'); ?></ul>
wp_list_categoriesというWordpressのテンプレートタグを使って、必要な情報を取得しています。
「title_li=」で、デフォルトで挿入される「カテゴリー」というタイトルを非表示にしています。
「show_count=1」は、投稿数を表示する設定です。1で表示、0で非表示になります。
「depth=2」は、カテゴリ階層を指定します。指定しない場合は、初期値の全階層が表示されます。1のときは、1段目のみの表示。2以降の数字を入れると、2段目以降の指定した階層まで表示されます。
他にもたくさんのパラメーターが用意されているので、お好みで指定してください。
参考テンプレートタグ/wp list categories – WordPress Codex 日本語版
まとめ
サイトマップとしての意味もあるカテゴリ一覧を設置することは、ブログを見に来てくれる読者へのナビだけでなく、SEO的にも有利になります。
まずは、わかりやすいカテゴリを作ることが大前提となりますが、サイトマップはぜひ作っておきたいページですね。