昨日、日本語版がリリースされたWordPress3.1 RC1(リリース候補1)で、一番目立つ新機能“投稿フォーマット”を試してみました。
投稿フォーマットとは
3.1をインストールしてみると、投稿の管理画面で公開ボックスの下にフォーマットのボックスが追加されていて、「標準」、「アサイド」、「ギャラリー」の選択肢が選べるようになっています。
簡単に言うと、「この選択によって、表示時のスタイルを変更できますよっ」って言うのが、投稿フォーマットの概略です。
投稿フォーマットの利用制限
ただし、投稿フォーマットを利用するには、現在選択しているテーマが投稿フォーマットをサポートしている必要があり、未サポートの場合は、フォーマットのボックス自体が表示されないようになっています。
この辺は、今後のテーマのアップデートに期待するか、自分で独自に実装するしかありません。
テーマが、投稿フォーマットをサポートしているかどうかについては、テーマのfunctions.phpに下記のような ‘posts_formats’ を引数に持つadd_theme_support命令が記述されているかどうかで分かります。
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
ちなみ、このコードはTwentyTenのもので、「このテーマは、アサイドとギャラリーの投稿フォーマットをサポートしているよ」という内容です。
TwentyTenでは、“標準”に加えて、“アサイド”と“ギャラリー”が選べるようになってますが、投稿フォーマット自体は、このほかに“チャット”、“リンク”、“画像”、“引用”、“ステータス”、“動画”、“音声”の全10種類が用意されています。
現状(RC1)では、この10種は固定になっていて、プラグインやテーマによる追加は許可されていません。
データ構造
投稿フォーマットのデータ構造は、カテゴリーやタグ同様にタクソノミー系で管理されています。
下記は、投稿フォーマットを使用した場合のtermsテーブルの内容で、アサイドとギャラリーのpost-format-asideとpost-format-galleryが存在しているのが分かります。
※ この投稿フォーマットのtermは、インストール直後は存在せず、追加フォーマットの投稿がなされて初めてtermへの追加が行われます。
また、標準で投稿を行った場合は、termsおよびterm_taxonomy、term_relationshipsテーブルには一切のデータ追加は発生しません。
このあたりは、後方互換を重視したのでしょうが、データ構造の統一感がなく、気になる点です。
懸念など
それから、カスタムタクソノミーなども含めて、タクソノミー系を多用すると、term_relationshipsテーブルのレコード数が増えることになるので、記事増に伴うパフォーマンス低下も気にしておいたほうが良いでしょう。(といっても万単位の投稿レベルの話にはなりますが)
感想
投稿フォーマットをサポートしているテーマが、まだほとんど無いことなどもあり、普及にはまだまだ時間がかかりそうです。特に現段階でのTwenty Tenでの表示は面白みが一切ないので、配布されているテーマに期待したいところです。
管理がタクソノミー系であることから、同様の機能をカスタムタクソノミーを使って独自実装をすることも可能ではあります。存在意義としては、拡張できないけれども、デフォルトで利用できて、複数登録ができないようになっている(たぶん)ので、カスタムタクソノミーより便利だよという程度でしょうか。
投稿のカテゴライズを単一化できるのは表示分化には適しているのですが、投稿フォーマット毎のアーカイブ表示が(多分)未実装であること、フォーマットの追加がコアファイルの変更を行わないと不可能であることから、あまり活用シーンは多くないかもしれないと感じています。
参考情報
投稿フォーマットについては、24日に発刊されたWordPants 第2号でも詳しく紹介されています。
是非ダウンロードしてご一読ください。
私もちょろっと寄稿させていただいていたりします。