[最終更新] 2017年7月18日
本記事は、WordPressのサイトマップページをプラグインを用いて作成する記事です。サイトマップと言うと、Googleさんの見回り用に提出するsitemap.xmlが思い浮かぶのですが、昨今のサイトを見ていると、全記事一覧を表示するhtmlのサイトマップページがよくあるようです。これは確かに便利で、サイト全体を俯瞰したいという気持ちのある自分としては、是非実装したいと思いました。
プラグインを探す旅
しかし、私はphpは不勉強ですし、WordPressも初めて間もないですから、勝手がよくわかりません。手っ取り早く実装するには、プラグインに頼るのがよかろうと思ったのですが、有名ドコロらしいPS Auto SitemapはWordPressの最新に対応しておらず、また最新バージョンに対応しかつ使いやすそうであったSimple Sitemapは、実際にやってみると思ったような結果がでない。
カテゴリを並べればサイトマップだ
どうしたものかな、と思っていたところ、「WordPressのサイトマップ(目次)のプラグイン3選。でもおすすめはない! » eBook Brain」の記事にある、「カテゴリを全部並べればサイトマップです」という文言にはっとしました。なるほどそのとおりです。
参考記事では、List category postsというプラグインを紹介されていました。このプラグインはWordPress最新版(4.5.2)にこそまだ対応していないものの、4.4.3には対応していて更新が止まっているわけではなさそうですし、また実績もあるので、これを利用しようかと思ったのですが、ざっとプラグインを眺めていると、「List all posts by Author, nested Categories and Titles」という長ったらしい名前のプラグインが目に入りました。
これは4.5.2に対応しています。更新もそれなりにしているようです。インストールが600件というのが心もとないですが、カテゴリを並べるだけのプラグイン、そう複雑なことをしているわけでもないでしょうから、変なことにもなるまいと、これを利用してみることにしました。
List all posts by Author, nested Categories and Titlesの利用
結論から言えば、これはたいへんうまく働いてくれました。一行のシンプルなショートコードを固定ページに書くだけで、カテゴリと記事の一覧を作成することができました。任意のカテゴリを除外したり、記事の順番を日付順にしたりといったことも簡単です。ショートコードの例は「List all posts by Authors, nested Categories and Titles — WordPress Plugins」にありますが、WordPressの管理画面にある「ツール」より、条件に合わせたショートコードを生成することができます。
たとえば、カテゴリと記事の両方を並べ、シングルユーザーで(記事を書く人が一人だけ)、記事は日付順にソートし、カテゴリ未分類(スラッグはunknown)を除外するには、以下の様なショートコードを、固定ページに書けばOKでした。

サイドバーなどでもうまく使えば、かなり柔軟性の高いサイト設計ができそうです。あまり実績のないプラグインのようですが、まぁカテゴリを出力するだけですからややこしいこともしていないでしょうし、なかなか良いのではないでしょうか。
関連記事
WordPress の記事
- [2017年1月7日] 滞りなくWordPress 4.7 にアップデート
- [2016年11月30日] Twenty Sixteen で記事本文の左側に回り込むフッターを回り込ませない
- [2016年11月18日] WordPressで、投稿記事と同じカテゴリー内の前後数件の記事を一覧出力する
- [2016年7月9日] WordPress の Twenty Sixteen でリンクの下線を消す
- [2016年7月7日] ConoHaのVPS上で CentOS 7 + nginx + WordPress 構築まで
- ---本記事---
- [2016年5月19日] Twenty Sixteen で、キャッチフレーズをタイトルから消す
- [2016年4月27日] WordPress で同一カテゴリの記事タイトルを記事下に表示(複数カテゴリ)
- [2016年3月14日] VPS上のWordPress(CentOS 7)を、プラグインを使わずにバックアップして復元するまでの手順
- [2016年3月9日] ローカルにWordPressの試験環境を Vagrant + VirtualBox + CentOS 7 + Apache で構築する
スポンサーリンク