本を読もう!

カスタムポストタイプで読書記録を作ろう!

2011.11.24(木) WordPress, プラグイン, 機能
このエントリーをはてなブックマークに追加

ボクは結構小説が好きでよく読むのですが、最近買おうかなと思ったものを、過去に読んだかどうかわからないとか、シリーズものだと、その前の作品を読んだかどうか自信がないとか、結構あります。なので、読書記録をカスタムポストタイプで、簡単に登録できるようにしてみようかと思います。


なるべく簡単に登録できるようにしよう!

実は今までも、livedoorブログとか、mixiとか、ブクログとか、読書メーターとか、数々記録してたんですが、どうも途中で面倒になります。というのも、なんか感想書かなきゃとか、ネタバレしちゃうと良くないなとか、果ては読んでるうちにこの辺を感想として書こうとか、なんか本末転倒です。なので、なるべく簡単にかつ、ただタイトルの記録だけだとあまりに素っ気ないので、Amazonのイメージと、気に入ったセリフなんかを残せるといいかなともいます。イメージはこんな感じ。
読書日記イメージ


 

Custom Post Type UIでカスタムポストタイプを設定しよう!

実現するためには、2つのプラグインを使います。まずは、Custom Post Type UI の設定から。

customposttype-1


customposttype-2

これで、読書日記専用のmybooksというカスタムポストタイプが作成されました。この時点で左のメニューに、mybooksという項目がつかされています。ちなみに、カスタムポストタイプ自体は、register_post_type関数を使っても登録可能ですが、プラグインの方が手軽で簡単ですね。

カスタムタクソノミで、ジャンル分けしよう!

ついでに、タクソノミ(カテゴリやタグの親玉みたいなもの)も専用のものを作ります。通常のカテゴリは、WordPress関連としておいて、新たに本のジャンル分け専用のタクソノミを作成してみます。タクソノミの設定画面は、カスタムポストタイプの設定画面と並んでいるので、必ずなにか設定しなきゃいけないと思いがちですが、必ずしも必要ではないし、必要であっても、登録は別々にするわけで、なぜ、メニューが並んでるのかは、いまいち謎ですね(別にしたほうがわかりやすいんじゃないかな)。また、通常のカテゴリを使う場合は、以下の作業は不要です。

customposttype-3



タクソノミの「利用する投稿タイプ」メニューにて、自分の作成したカスタムポストタイプを選択した後で、そのタイプを編集しようとすると、「ビルトイン分類メニュー」に、そのタクソノミ名が出力されるので、それを選択します。

customposttype-4


customposttype-5

これで、mybooks専用メニューに、ganresタクソノミが追加されました。

カスタムフィールドテンプレートで投稿画面を編集しよう!

これらの作業だけでもカスタムポストタイプでの登録が可能になりますが、これだけだとただ単に入力コントロールが減っただけで、イマイチ便利になったとは言えません。ここに、Amazonリンクや、セリフを入れるための専用コントロールを、2つ目のプラグイン、カスタムフィールドテンプレートを使って追加してみます。

customposttype-6


コントロールは、以下のように4つ設定しています。

1.Amazonへのリンクを入力する場所、htmlを使用可能とする

[amazon]

type = textarea

size = 500

label = Amazonリンク

htmlEditor = true

2.お気に入りのセリフなどを入力する場所

[lines]type = text

size = 100

label = お気に入りのセリフや文章

3.セリフを言った人を入力する場所

[lines_sub]type = textsize = 100label = セリフの場合は、言った人

4.読んだ本と同じシリーズや、同じ作者の本のAmazonリンクを入力する場所、htmlを使用可能とする

[concernd]type = textarea

size = 500

label = 関連図書のAmazonリンク

htmlEditor = true

コントロールは、1行入力用のテキストボックスと、n行入力用のテキストエリア、ラジオボタン、チェックボックス、コンボボックス、ファイル選択などが使用可能で、それぞれに使用できるオプションもかなりあります(オプションリストで参照できます)。まあ、出来ないことはほとんどないんじゃないでしょうか?


これで編集画面を見てみるとこんな感じになります。どこになにを書けばいいのか、自分なりにわかりやすく設定可能ですので、非常に便利になりました。

customposttype-8

さて、これで後はどんどん登録して、読んだものを片っ端から登録しちゃうぜ、メデタシ、メデタシ、、、と言いたい所ですが、カスタムポストタイプで登録した記事は、そのままではどこにも表示されません。自分で明示的にここに、こういう形で表示する、としてあげないといけません。実は、htmlやcssが苦手なボクにとっては、ここが一番ハードルが高かったかも。

では、どの様に表示させるかについては、長くなったので次回書きます!

コメントをどうぞ