草野真一さんが主宰するほんやくネットのプロジェクト「今昔物語集 現代語訳」に参加している。このプロジェクトは名前のとおり、日本の古典の名作『今昔物語集』を現代語訳にして、誰しもが楽しめる形で提供することを目指している、めちゃ偉大なプロジェクトだ。最近では、英語訳にも手を出し、国際化を目指している。
自分はというと、今のところ、現代日本語訳の仕事は1話のみしか担当できていないのだが、その代わりに、当初はてなブログで運営していたサイトをWordPressに移行する作業を担当したり、またサーバーをお貸ししたりと、裏方業務で貢献させていただいている。また、最近公開した以下の2記事、『今昔物語集』の英語での紹介文と、サンプルとしての英語訳の1話は、自分が担当した。腐っても外国語学部卒である。


PS Auto Sitemapで目次づくり
「今昔物語集 現代語訳」プロジェクトについては、おいおい別記事で書くとして、今回の記事では、その「今昔物語集 現代語訳」サイトでちょっと悩んでいたサイトマップの設定について。
『今昔物語集』というのは、その名のとおり1000年前に成立した全31巻(8巻・18巻・21巻は欠けている)からなる物語集なので、それをWebサイト形式で公開するにしても、当然「目次」といったものはあったほうがいい。
そのため、大定番のWordPressのサイトマップ作成プラグイン「PS Auto Sitemap」で「目次」という名のサイトマップを作成したのだが、いくつか不満点があった(代表より要望された)。具体的には、
- カテゴリー順がめちゃくちゃ
- 降順より昇順のほうがいい
- 翻訳記事の公開日時での並び順だと都合が悪い
といったもの。
カテゴリー順がめちゃくちゃ
1つ目のカテゴリー順がめちゃくちゃというのは、WordPressを使ったことのある人なら知っていると思うが、WordPressの基本設定ではカテゴリーの並び順を任意に変更することはできない。
かのサイトの場合、カテゴリー自体が「巻一」「巻四」「巻五」と、巻数を表しているので、これがぐちゃぐちゃに並んでいると、だいぶかっこ悪かったのだ。
ただし、この問題に関してはプラグイン「Category Order and Taxonomy Terms Order」を入れることで、すぐに解決できた。
降順より昇順がいい
公開日時順どおりに並べられると都合が悪い
どちらかというと、重要だったのはこの2つ。
まず、「降順より昇順がいい」というのは、普通のブログ形式のサイトであれば、サイトマップは新着記事から順に、降順に並んでいく姿が自然であろうが、なんせ、かのサイトは物語集。
新着記事から降順に、
- 三話
- 二話
- 一話
と並んでいくよりも、数が若い順(昇順で)に
- 一話
- 二話
- 三話
と並んでくれる方が自然な姿だ。
また後者の、「記事の公開日時通りに並べられると都合が悪い」ということについては、つまり記事の公開日時が、必ずしもお話の順番どおりには進行していないということ。
以下の画像の「巻五」の項目を見てもらうと分かるとおり、必ずしも翻訳記事の公開順序が、お話の順番通りには進行してしないのだ。
画像のサイトマップは降順で並べられているから、「巻五」の公開順序は、「第一話」「第一三話」「第十一話」……と、だいぶアバウトに進行していることになる(このようなことになっている理由は、翻訳を担当する訳者の進捗状況など諸々の事情があり)。
よって、これらの問題を解消をするためには、サイトマップの並び順を昇順にしてかつ、公開日時どおりだとマッチしない箇所に関しては、手動で並べることにする。
Intuitive Custom Post Orderで並び替えた順序をサイトマップにも適応させる
ここまでの説明にだいぶ文字数を費やしてしまったが、これらの問題点を解消する手順は、とても簡単だった。実際に行った手順としては、
- Intuitive Custom Post Orderで記事を並び替える
- PS Auto SitemapのPHPを弄り、手動で並び替えた順序に従うように設定する
といったもの。
Intuitive Custom Post Orderで記事を並び替える
まずは、記事の順序をマウスで簡単にいじれるプラグイン「Intuitive Custom Post Order」をインストールし、有効化する。具体的なプラグインのインストール・有効化手順に関しては、ありとあらゆるサイトでわかりやすく解説されているので、ここでは割愛。
有効化をしたら、WordPress管理画面の「設定」→「並び替え設定」で並び替えを適応させる項目にチェックを入れる。
「投稿」にチェックは当然として、カテゴリーにもチェックをしておくと、カテゴリーも並び替えられるようになる(つまり「Category Order and Taxonomy Terms Order」は不要になる)。
設定が完了したら、「投稿一覧」ページにいく。今回のサイトの場合、全記事規模ではなく、あくまでカテゴリー内で整合が取れていればいいので、カテゴリー別で絞り込む。
さきほど例にあげた「巻五」の場合、記事の公開順だと、
- 第一話
- 第十三話
- 第十一話
- 第二話
- 第十二話
- 第三話
という、かなりめちゃくちゃな順番になってしまっているため、これをマウスで本来の話の順に並び替える(ここではあくまで降順のまま)。マウスでカチカチ並び替えるだけでいいので、とても簡単だ。
PS Auto Sitemapの並び順を「Intuitive Custom Post Order」での設定に従うようにする
上記の「Intuitive Custom Post Order」での記事の並び替えによって、カテゴリー別表示などした際には、整合がとれた表示になった。しかし、これだけだと、PS Auto Sitemapで作成したサイトマップの方には適用されていない。
そのため、PS Auto Sitemapのコードを少し弄り、上記の並び替えに従うように設定する。
管理画面の「プラグイン」→「プラグイン編集」と進み、「PS Auto Sitemap」を選択し、ps_auto_sitemap.phpを編集する。
エディタ画面を適当にクリックした上で、Macならcommand + F、WindowsならCtrl + Fを入力するとファイル内検索ができるので、「ORDER BY」と入力する。
ORDER BY `posts`.`post_date` DESC”;
という一行が示されるので、それを
ORDER BY `posts`.`menu_order` DESC”;
と書き換える。post_dateをmenu_orderだけに書き換えるだけでよい。
書き換えたら「ファイルを更新」を押し、サイトマップを確認してみる。「Intuitive Custom Post Order」で並び替えたどおりでかつ、昇順に並んでいると思う。
万が一、降順のままであれば、
ORDER BY `posts`.`menu_order` DESC”;
を
ORDER BY `posts`.`menu_order` ASC”;
に書き換えて、試してみて欲しい(DESCなのに昇順に切り替わっている理屈は、自分でもよくわからず)。
番外編:タイトル順は漢数字にはうまく機能せず
ちなみに、上記のサイトマップの並び順の設定コードの書き方には他にもいくつかあり、もっと便利そうなのだと「タイトル順」というのがある。これがうまく機能してくれれば、わざわざ手作業で並び替えたりしなくてもよさそうだ。
設定には、上記のコードの箇所を、
ORDER BY `posts`.`post_title` ASC”;
と書き換えると設定できるのだが(ASCもしくはDESCは、降順 or 昇順の好みにで)、残念ながら今回の場合は、うまく機能しなかった。
やはり、タイトル順といっても、所詮英数字で表現できる欧文の世界。今回のような漢数字表示だと、うまく順番どおりに並んでくれないのである。もちろん、漢数字表記をやめて、5 – 1, 5 – 2と、数字のみの表記にすればうまく並んでくれるだろうが、それじゃあ本末転倒だしね。
終わりに
今回のようなケースはそう多々ないだろうが、うちの「今昔物語集 現代語訳」サイトのように、小説などを書いているサイトの場合、けっこうこういったニーズがあるのではと思い、記事にしてみた。参考にしてくれれば幸いだ。
ちなみに、「今昔物語集 現代語訳」プロジェクトは参加者を絶賛募集中です。僕に連絡していただければ、代表の草野さんにもつなげるので、どうぞご気軽に連絡ください。
コメント