カスタム投稿&カスタムフィールド

2013-11-11


引き続きこのサイトを構築中です。

今日はアンドロイドアプリの紹介ページ作成に取り掛かりました。
カスタム投稿とカスタムフィールドを使ってデータ管理できるようにしてみました。
(今日のところはデザイン、ノータッチ。。。)

カスタム投稿、カスタムフィールド、今までなんとなくしか理解してなかったんですが、これを機会にしっかり勉強しました。

カスタム投稿というのはデフォルトの投稿以外に別途枠組みを作るためのもののようです。この機能を使って投稿すると、デフォルトの投稿とは別に管理されることになります。今回はこの開発日誌とアンドロイドアプリを区別するために利用しました。

設置に利用したプラグインは「Custom Post Type UI」。これを使えばコードを書かなくても管理画面上から設定できます。簡単で楽ちんです。

ただし、カスタム投稿を作っても、それなりの設定をしなければデフォルトの投稿と同じデータしか書き込めません。アンドロイドアプリではタイトルや本文以外に「ダウンロードURL」「アイコン画像URL」なんかを取り扱う必要がありました。

そこで出てくるのがカスタムフィールドです。カスタムフィールドというのは、投稿するときに記述できる項目を増やす機能みたいですね。デフォルト投稿ではタイトル(この投稿でいうところの「カスタム投稿&カスタムフィールド」)と本文(ここ)、その他もろもろ、といった感じですが、時には別のデータを入力したい時もあります。

作成に利用したのはプラグイン「Advanced Custom Field」。これは直感的で使いやすかったです。このプラグインを使ってフィールドを定義し、先ほど作成したカスタム投稿と紐付ければ(ルールを「投稿タイプ」「等しい」「作成したカスタム投稿のタイプ」に設定)、カスタム投稿をそのフィールドを使って編集できるようになります。

あとは作成した投稿を表示するんですが、これはプラグインがない模様・・・しょうが無いのでテンプレートファイルを作成して実現しました。今回、詳細ページはGoogle Playに飛ばすことにしたので、一覧ページのみ作成しました。テンプレートファイルの名前を「archive-[カスタム投稿のタイプ].php」として作成してやれば勝手に反映されます。

カスタム投稿の機能もあとちょっとで管理画面だけで管理しきれそう。そうなれば「PHPのコーディングはちょっと・・・」って方にも使ってもらえる素敵な機能になりそうですね。