投稿フォーマットは、WordPress 3.1で登場するエキサイティングな機能の一つです。しかし、ほとんどの初心者は投稿フォーマットが何であるか、なぜそれがあなたにとって重要なのか、そしてこの素晴らしい機能をどのように活用できるのかを知りません。さて、WordPress 3.1のアルファ版をすべて確認した後、WordPress 3.1に搭載される投稿フォーマット機能の「何が」「なぜ」「どうやって」を説明することにしました。
投稿フォーマットとは何ですか?
ポストフォーマットは、テーマが投稿の表示方法をカスタマイズするために使用できるメタ情報です。平易な英語で言うと、ポストフォーマットは特定の投稿をスタイリングする方法です。この機能を使用すると、特定の投稿の表示「フォーマット」を指定できます。この機能はWordPressのマイクロブログ機能を拡張し、ビデオ、リンク、画像、オーディオ、引用、ステータスなどをすべて1か所にまとめることができ、さらにそれらが適切にスタイリングされます。
使用例
Digging into WordPress公式ブログを見てみましょう。彼らはホームページに2種類の投稿スタイルを持っています。1つは抜粋を表示する完全な投稿で、他のブログと同様です。しかし興味深いのは、読者にとって役立つ他のブログ投稿への外部リンクである投稿に特定のスタイルがあることです。

ブログはリソースを共有することであり、ブロガーが読者にとって役立つ外部リソースへのリンクを共有したい場合がよくあります。彼らが直面する主な問題は、読者に別のサイトに行くように伝えるためだけに新しい投稿を作成する必要があることです。これは、投稿の種類がわからないため、エンドユーザーに混乱を引き起こします。多くの場合、著者が外部リンクを表示するように求めていることを発見するために、ユーザーは投稿のフルビューをクリックする必要があります。投稿のタイトルから外部リンクにリンクできるこの方法のようなトリックがありますが、この投稿形式の問題ですべてを解決します。テーマデザイナーは、「リンク形式」を、Jeff StarrがDigging into WordPressで行ったように、異なる方法で表示するようにスタイル設定できます。
この機能のパワーは説明するには大きすぎます。なぜなら、ツイッターで行うような短いステータス投稿を、あまり手間をかけずに異なるスタイルで書くことができるようになったからです。気に入った引用を見つけたら、それを共有してワンクリックで目立たせることができます。要するに、「投稿フォーマット」機能はWordPressをより完全なブログプラットフォームにするでしょう。
なぜ投稿フォーマットを使用したいのですか?
投稿フォーマットは、同様のスタイリング機能を実現するためにカテゴリを使用する必要性を置き換えます。これまで、開発者はこの効果を実現するためにWordPressカテゴリをハッキングしていましたが、これは新しいブロガーにとって多くの混乱と混乱を生み出していました。投稿フォーマットを使用すると、カテゴリの観点から混乱を減らすだけでなく、それらのフォーマットをサポートするテーマ間でブログをポータブルにすることができます。
また、読者にとってブログがより使いやすくなります。なぜなら、読者は自分がどの種類の投稿を見ているのかを正確に把握できるからです。さらに、ブログページにさまざまなスタイルの投稿があるため、ブログがより活気のあるものになります。現在、ほとんどのブログ投稿の表示は、すべての投稿が似ているため非常に退屈に見えます。投稿フォーマットは、WordPress搭載サイト内で非常に必要とされていたギャップを埋めるでしょう。
WordPress 3.1で投稿フォーマットを追加・使用する方法
投稿のサムネイル、メニュー、カスタム背景、カスタムヘッダーと同様に、投稿フォーマットもテーマが有効にした機能になります。これは、テーマが互換性がある場合にのみこの機能が利用可能であることを意味します。
警告:このチュートリアルを理解するには、HTML、CSS、およびWordPressループの機能について十分に理解している必要があります。
WordPress 3.1で「投稿フォーマット」を有効にするには、テーマのfunctions.phpファイルを開き、以下のコードを貼り付ける必要があります。
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
注:アサイドとギャラリーだけが利用可能な投稿フォーマットではありません。利用可能な投稿フォーマットのリストは次のとおりです。
- アサイド – 通常、タイトルなしでスタイル設定されます。Facebookのステータス更新に似ています。
- チャット – チャットのトランスクリプト。
- gallery – 画像のギャラリー。
- リンク – 他のサイトへのリンク。
- image – 単一の画像。
- 引用 – ある引用。
- ステータス – 通常140文字に制限された短いステータス更新。Twitterのステータス更新に似ています。
- 動画 – 単一の動画。
投稿フォーマットの全リストについては、WordPress Codexを参照してください。
このコードを追加すると、右側の公開セクションにある投稿作成パネルに新しいフィールドが表示されます。

投稿を作成する際に、フォーマットを変更して公開できます。これにより、投稿をプリスタイルされたフォーマットで表示できます。
しかし、これらのプリスタイルされた投稿フォーマットをテーマのどこにも指定していません。そのため、WordPressの投稿パネルでフォーマットを選択しても、テーマが表示方法を知らないため、違いはありません。このためには、投稿ループを編集する必要があります。
条件付きタグ: has_post_format() を利用します
if ( has_post_format( 'aside' )) {
// code to display the aside format post here
} else if (has_post_format('gallery')) {
// stuff to display the gallery format post here
} else if (has_post_format('link')) {
// stuff to display the link format post here
}else {
// code to display the normal format post here
}
さあ、何を待っていますか?この素晴らしい機能の準備を始めましょう。新しいテーマが登場し、この機能を利用することで、WordPressがマイクロブログプラットフォームとしてますます利用されるようになると想像できます。
追加資料:
WordPress Codex Post Formats
投稿タイプ、フォーマット、タクソノミー、ああ!
投稿フォーマット対カスタム投稿タイプ

ラフル
if ( has_post_format( ‘aside’ )) {
// asideフォーマットの投稿を表示するコードをここに
} else if (has_post_format(‘gallery’)) {
// galleryフォーマットの投稿を表示するものをここに
} else if (has_post_format(‘link’)) {
// linkフォーマットの投稿を表示するものをここに
}else {
// 通常フォーマットの投稿を表示するコードをここに
}
このコードはどこに追加すればよいですか。よろしくお願いします。Index.php内ですか、それとも他の場所ですか。
saurabh
カテゴリをギャラリーとして表示するのが非常に簡単になりました。
Keely
このコードの断片はどこに追加されますか?
これに関するものは何も見つかりません。PHP プログラマーではないので、どこに配置すればよいかわかりません。
編集スタッフ
ポスト内で使用されているhas_post_format()のコードは、各投稿に特定のスタイルを与えるためにループ内に入れるものです。
管理者
Dave
コードの最初の行で閉じ括弧が欠けているようです。現在、次のように読み取れます。
if ( has_post_format( ‘aside’ ) {
しかし、それは次のようになります:
if ( has_post_format( ‘aside’ )) {
いつものように素晴らしいチュートリアルです。
hosseincode
ええ、wpbeginnerはこれを修正すべきでしたね…
WPBeginnerサポート
投稿を更新しました。Daveさん、ありがとうございます。
管理者
トム
So, OK I am still a little confused about a few concepts here…can somebody please help me out? I apologize in advance for the crazy length of this post but I am new to WP
投稿、ページ、カテゴリ、タグの概念は理解しています – それは簡単です。
私が今理解しているところによると、「投稿フォーマット」(WP v3.1)の新機能は、「投稿」(例:「ブログ記事」)のスタイリングに関連していますが、「投稿タイプ」という概念は、実際には5つのデフォルトのWP「コンテンツタイプ」(投稿、ページ、添付ファイル、リビジョン、ナビゲーションメニュー)のいずれかを意味します(参照:(http://codex.wordpress.org/Post_Types)。
同様に、「カスタム投稿タイプ」(WP v3.0)の新機能は、投稿、ページなど以外の*新しい*「投稿タイプ」を作成することに関連しており、それが何であれ、ということです。
わぁ…理論上は理解できるような気がします。
OK、理論上は新しい「投稿フォーマット」は理解できます…しかし、私は視覚的な学習者なので、それがどのようなものに見えるか見てみたかったのです。
Digwp.com の「リンク」投稿フォーマットの投稿の例は良かったですが、他にもいくつかのテーマをチェックしました。例えば:http://demo.themify.me/#theme=wumblr
(ちなみに、これは紛らわしいです!ここでは、投稿フォーマットをまさにそのように参照していますが、http://themify.me/themes/wumblr > 機能…で、同じページのトップでは「投稿タイプ」と呼んでいます)。
とにかく…WPの「投稿タイプ」機能について説明する前に、「投稿フォーマット」機能についていくつか質問があります。
1. 既存のテーマで新しい「投稿フォーマット」を利用したいとします。WP にこれらの 10 種類の投稿フォーマットを追加し、テーマで指定します(指示通り)。しかし、その後どうなるのでしょうか?サイト上の各投稿フォーマットの実際の *デザイン* はどのように実現されるのでしょうか?
ほとんどのテーマ開発者(特に有料のもの)は、テーマ(コーディング部分、および「投稿フォーマット」部分の実際のデザイン)を更新するのでしょうか?それとも、これを初めて提供する新しいテーマが登場するのをユーザーは待つべきでしょうか?
テーマフレームワークについてはどうですか?投稿フォーマット機能を組み込んだ子テーマをすでに提供しているものはありますか?一部のテーマフレームワークでは、コーディングをほとんどまたはまったく行わずに、基本的なバージョンに基づいて独自の子テーマを作成(または大幅にカスタマイズ)できます…プロバイダーがこのレベルのカスタマイズをすでに実装しているかどうかを知っていますか?
2. すでに「投稿フォーマット」を使用しているテーマ(例:http://themify.me/demo/#theme=wumblr)を見ると、個々の投稿フォーマットのカテゴリ名の一部が、標準化されたフォーマットのリストにある名前(例:http://codex.wordpress.org/Post_Formats#Supported_Formats)と一致していますが、一致しないものもあります!Wumblrテーマが使用している以下の名前はリストにありません:「general」と「notes」- 一方、「aside」と「gallery」はリストにありますが、Wumblrの新しいフォーマットタイプの投稿のカテゴリ名としては選択されていません。これは私に次のような疑問を抱かせます…
カテゴリに自由に名前を付ける(多くの場合SEO目的)という通常の慣習と比較して、「ポストフォーマット」投稿のカテゴリに名前を付ける際のルールは何ですか?標準の「ポストフォーマット」リストの名前と一致する必要がありますか?そうでない場合、記事で提案されたコードはどのように変更されますか?「条件タグ: has_post_format() を利用します…」という部分の後に続くコードです。もし、標準リストと異なる名前をそのコードで使用した場合、標準化のルールに反し、テーマを切り替えるのが難しくなりませんか?
「投稿フォーマット」タイプを「リンク」や「ステータス」、「引用」などの名前で分類した場合…コンテンツを「説明する」カテゴリ名を持つ投稿よりも、これらの名前のカテゴリを積極的に選択してクリックしてくれると、誰が期待できるでしょうか!?
「video」や「image」、「gallery」なら、好奇心からそれらのコンテンツタイプの投稿リストを表示するためにクリックする人もいるだろうと理解できましたが、link、status、quote…?
~~これで誰か仕組みを理解していますか?~~
ですので、「投稿タイプ」、より正確には「カスタム投稿タイプ」に関する私の質問は非常に短くします。
それらはここでどうなるのですか?それらが話題にしている「ブログ投稿」タイプではないことは理解していますが、「カスタム」(=投稿以外のあらゆるコンテンツタイプ)はどうですか?
それらが実装されているテーマはすでにありますか?もしあれば、いくつか例を教えていただけますか?
それらはテーマによって処理されますか、それともプラグインによって処理されますか?
返信ありがとうございます!!
Tom
編集スタッフ
Tomさん、こんにちは。
長い質問を一つずつ見ていきましょう。
Wumblr Theme by ThemifyはWordPress 3.1より前にリリースされました(そのため、当時はポストフォーマットがありませんでした)。そのため、彼らは好きなように名前を付けました。この場合、「ポストタイプ」と呼ばれていました。これもまた矛盾した語彙です。ポストタイプの全体的な考え方は、投稿ではないことなので、コンテンツタイプと呼ぶべきだと推奨します。とにかく、Wumblrが使用したセマンティクスによって混乱しているのだと思います。再び、Wumblrがサポートされているフォーマットではなく、独自のカスタムポストフォーマットを持っている理由を後で述べています。ポストフォーマットが利用可能になる前にリリースされたため、彼らは良いと思われるものを選んだのです。
テーマのCSSで、投稿フォーマット「XXX」が呼び出された場合にこれらのスタイルを追加するように指定する必要があります。これを行う良い方法は、既に投稿フォーマットをサポートしているテーマを取得し、それらがどのように行っているかを確認することです。または、ブラウザのソースを開くと、追加されるデフォルトのクラスが表示されます。ほとんどのフレームワークは、今後のバージョンで投稿フォーマットと互換性がありますが、すべてのチャイルドテーマが互換性があるわけではありません。一部のテーマ開発者が古いテーマに投稿フォーマットを追加するために戻る可能性は非常に高いです。しかし、どれがそうするか、どれがそうしないかは確実には言えません。すでに市場に出回っている新しいテーマがたくさんあります。Woo Themesにはいくつかあり、Themifyにもいくつかあります。StudioPressもまもなく独自のものをリリースする予定です。したがって、待つかどうかは本当にあなた次第です。
カテゴリ名は投稿フォーマットと一致する必要はありません。投稿フォーマットとカテゴリは、2つの異なる分類法です。カテゴリ名は自由に付けることができます。
カスタム投稿(コンテンツ)タイプとカスタム投稿フォーマットは、全く別のものです。一方はカスタムタクソノミーであり、もう一方はカスタムコンテンツタイプです。それぞれ異なる目的を果たします。タクソノミーは、コンテンツタイプの整理と表示を容易にするためのものです。カスタム投稿フォーマットはタクソノミーであり、投稿はコンテンツタイプです。
カスタム投稿タイプと投稿フォーマットはどちらもテーマによって処理されます。ただし、カスタム投稿タイプについては、あなたの生活を楽にするプラグインがあります。このサイトのカスタム投稿タイプに関する記事を参照してください。そこにはプラグインが紹介されています。
管理者
Tony
ポストフォーマットを使うべきところで、カスタムポストタイプを使って投稿を作成していました。
ms-studio
私の大きな疑問は、これらの投稿タイプの書き込み/編集ページをカスタマイズできるかということです。
もしそうなら、すぐにそれらを使用し始める説得力のある理由になります。方法についてのヒントがあれば感謝します。なぜなら、http://codex.wordpress.org/Function_Reference/add_meta_box では何も手がかりが得られないからです。
そうでない場合、カスタムポストタイプの方がはるかに便利になります。
編集スタッフ
コーデックスのそのページですべてが説明されています。カスタムコンテンツタイプ「投稿」と「ページ」にこのメタボックスを追加していることを示しています…入力フィールドを追加し、保存しています。その情報を使用して、それを構築してください。
管理者
Connor Crosby
WP 3.1ベータ版をダウンロードすると、Twenty Tenテーマはasideとgalleryをサポートします。
Phaethon
素晴らしい。公式のWP 3.1の投稿タイプ以外にも、ループにさらに多くのスタイルフックを追加できるようになりますよね?
Connor Crosby
3.1は一般公開されるのがいつ頃かご存知ですか?実は、私もdigwpのようなリンクスタイルを作成する方法を探していました。
編集スタッフ
WordPress 3.1はホリデーシーズンの直前にリリースされる予定なので、12月中旬頃が妥当な日付でしょう。
管理者
Dre Armeda
公式SVNからすでに3.1アルファをダウンロードできます。
バーバラ・リング
素晴らしいを越えて、これはまさにキラー機能になるでしょう!すぐに私のネットワークと共有します、ありがとう!
Pippin
これは素晴らしいです。開発者の観点からは特に何も強化されませんが、エンドユーザーにとっては素晴らしいでしょう。
Bjorn van der Neut
ですから、もし私が正しく理解していれば、それは page.php を gallery.php にコピーして変更し、ページでテンプレートとして「Gallery」を選択するのと少し似ています。
今度はページレベルではなく、投稿レベルになるということですか?
編集スタッフ
はい、本質的には組み込みのクロス互換性のある投稿テンプレートの方法です。
管理者
Bjorn van der Neut
現在、この機能のためにImpact(有料版)プラグインを使用しています。Genesisも扱っていますが、現時点ではそのオプションが見つかりませんでした。
編集スタッフ
このオプションはWordPress 3.1で利用可能になります。まだ利用できません。