wordpressのカスタムフィールドを使いやすくするプラグイン「Custom Field Template」を導入してみた。

ひとまず最低限の機能だけを実装し公開までこぎつけた当ブログ。
でも、CMSを使った手作りブログなわけだから、ぼちぼちカスタマイズもしていきたいところ。

そんなわけで、まずは「個々の記事に独自の情報を持たせたいな〜」なんてことを考えた。

当ブログでは「映画や小説の感想」がメインのコンテンツ。そして、それぞれの作品に対し勝手に「点数」をつけている。その「点数」を、個々の記事のメタデータのような形で持たせたい。
他にも、「作品名」や「著者名」なんかをデータとして持たせておけば、一覧ページを作る時なんかに役立ちそうだ。

「個々の記事に独自のメタデータを持たせる。」

そんな機能はWordpressに標準装備されている。「カスタムフィールド」っていう機能がそれだ。
この「カスタムフィールド」という機能自体は、当ブログのテーマを作成する上で非常にお世話になった『WordPressデザインブック』っていう書籍の中でも扱われていて、とても簡単に使える機能。
ただ、「必要なフィールドを選択」→「データを入力」という手順が必要で、毎回やるとなると「データ入力の抜け漏れ」が起こる可能性が高く、なによりめんどくさい

僕の理想としては、例えば「小説の感想」の記事を書いたのであれば、「小説の感想に関連するフィールドセットがまとめて表示」→「表示されたセットにデータを入力」という形にしたい。
つまり、「必要なフィールドを選択する」という手順を無くしたいのだ。

そして、そんな理想にピッタリのプラグインがちゃんとあるんですよ。
その名も『Custom Field Template』。前置きが随分長くなりましたが、早速導入です。

まずはプラグインをインストール

下記サイトよりプラグインをインストール。有効化します。
WordPress › Custom Field Template « WordPress Plugins
「Custom Field Template」の配布サイト

「Custom Field Template」の使い方

WordPressの管理画面から「設定>カスタムフィールドテンプレート」を選択し、設定画面を開く。
細々といろいろな設定項目が表示されるが、上述したような目的だけなら「カスタムフィールドテンプレートオプション」の設定だけで十分。
最初から用意されているテンプレート「TEMPLATE #0」の記述を参考に、自分に必要なテンプレートを作ればいい。

ちなみに、「TEMPLATE #0」のテンプレート内容はこんな感じ。
[html]
[Plan]
type = text
size = 35
label = Where are you going to go?

[Plan]
type = textfield
size = 35
hideKey = true

[Favorite Fruits]
type = checkbox
value = apple # orange # banana # grape
default = orange # grape

[Miles Walked]
type = radio
value = 0-9 # 10-19 # 20+
default = 10-19
clearButton = true

[Temper Level]
type = select
value = High # Medium # Low
default = Low

[Hidden Thought]
type = textarea
rows = 4
cols = 40
tinyMCE = true
htmlEditor = true
mediaButton = true

[File Upload]
type = file
[/html]

なんとなーく理解できると思いますが、[XXX]がフィールドのID。
typeはカスタムフィールドのフォーマットで、以下が選択できるらしい。
[html]text、textfield、checkbox、radio、select、textarea、file[/html]
sizeやlabel、チェックボックスのvalueやdefaultなども、HTMLのフォームタグがわかれば特に不明な点はないだろう。

ちなみに、当ブログでの「小説の感想」用カスタムフィールドはこんな感じだ。
[html]
[ezcom_title]
type = text
size = 40

[ezcom_title_KANA]
type = text
size = 40

[ezcom_author]
type = text
size = 40

[ezcom_author_KANA]
type = text
size = 40

[ezcom_score]
type = text
size = 40
[/html]

これで、「作品名」「作品名(かな)」「著者名」「著者名(かな)」「点数」の5つのカスタムフィールドを持つフィールドセットが完成した。

あとは投稿の度に、記事の投稿画面の下に表示されるカスタムーフィールドエリアにデータを入力していけばOK。
Screenshot1017a

さらに・・・

データの入力だけでなく、出力もこなせるのが「Custom Field Template」のすごいとこ。
同じく「設定>カスタムフィールドテンプレート」で設定画面を開き、今度は「[cft] and [cftsearch] Shortcode Format」の設定項目から出力用のフォーマットを設定すればいい。

ちなみに、ここでも最初から用意されているテンプレートが参考になりそう。
[html]
<table class="cft">
<tbody>
<tr>
<th>Plan</th><td colspan="3">[Plan]</td>
</tr>
<tr>
<th>Favorite Fruits</th><td>[Favorite Fruits]</td>
<th>Miles Walked</th><td>[Miles Walked]</td>
</tr>
<tr>
<th>Temper Level</th><td colspan="3">[Temper Level]</td>
</tr>
<tr>
<th>Hidden Thought</th><td colspan="3">[Hidden Thought]</td>
</tr>
</tbody>
</table>
[/html]

あとは投稿の中で[cft format=0]と記述すれば、設定したフォーマットで、カスタムーフィールドの値が表示される。


というわけで、カスタムーフィールドの使い勝手が格段に向上するプラグイン「Custom Field Template」。
超オススメです!!

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です