WordPressは、GPLというライセンスで配布され、いくらでもサーバーにインストールできることから、たくさんのブログを作ることが可能です。そんなブログの中には、写真や文章の組み合わせが固定され、コードはどの投稿も大して変わらない、ということがあるかもしれません。
そんなときに味方になるのが、カスタムフィールドです。投稿ごとに変わる内容を記述するだけで、1つの記事を完成させることが出来ます。記述された内容は、あらかじめfunctions.phpに書かれたコードに流し込み、それを表示するという仕組みにすればいいわけです。
これがその利用例です(第一駅撮区)。投稿の全体を写すため縮小しています。
この画像内の”紀伊勝浦 -> 紀勢本線”とあるのがタイトルで、”撮影日 : 2014/09/21″が投稿の終わりです。このブログの投稿はすべてこんな感じで、写真とその説明のセットが何回か繰り返され、写真の撮影日を表示して終了しています。
このようなブログの場合、コードは大体決まったものになってきますので、工夫次第では1回の投稿で要する時間を短縮することが可能です。
次にこの投稿の編集画面を見てみましょう。カスタムフィールドが3つ見えます。投稿する際は、ここに内容を入力します。
ところで、撮影日は1回しか表示しませんが、写真とその説明の表示数は、写真の数によって変わります。このように2枚しかないときもあれば、逆に撮りすぎて10枚くらい追加したくなるときもあります。
この場合、ここでは、写真であれば写真を、説明であれば説明をそれぞれコンマ”,”で区切って記述し、1番目に書いた写真のURLと説明を、2番目に書いた写真のURLと説明を…というように要素を対応させて表示することで達成しています。
開発当初は、1つの写真とその説明のセットで1つのカスタムフィールドを充てようとしたのですが、そうすると10枚写真を追加したくなったときに、10回分のカスタムフィールドを作らなければならなくなるため、結局このようになりました。
このようにすることで、以下のような利点があります。
- 投稿にかかる時間を短縮できる
- 後で編集するために見返したとき、不要な部分がないため見やすい
逆に、欠点もあります。
- 投稿やRSSに表示させるために、コードを書き足さなければならない
- 内容に区切り文字が含まれていると、投稿内容がおかしくなる
欠点の2番目は、区切り文字を投稿内容に使わない文字に変えることで解決します。問題は1番目です。
カスタムフィールドは本来、特別なデータを扱うためのものであり、本文として表示するにはコードを書き足す必要があります。手間にはなりますが、長い目で見れば得になるはずです。
それでは次の記事より、カスタムフィールドのみを使った投稿の準備について続けていきます。