• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「投稿フォーマット」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(3.1: en:Post Formats 11:01, 12 November 2010 Bono 版を翻訳用にコピー)
 
(最新英語版を反映 & 和訳完了 en:Post Formats 07:57, 16 August 2015‎ Atachibana版)
 
(3人の利用者による、間の16版が非表示)
1行目: 1行目:
{{NeedTrans}}
+
== はじめに <span id="Intro"></span>==
  
[[Post Formats]], introduced with [[Version 3.1]], are meta information that can be used by themes to customize presentation of a post.  The basic idea is to
+
'''投稿フォーマット'''は[[Version 3.1|バージョン 3.1]] から導入された[[Theme Features|テーマ機能]]で、テーマが投稿表示をカスタマイズする際に使えるメタ情報を指します。投稿フォーマット機能は、対応しているすべてのテーマで使える標準となるフォーマットをいくつか定義しています。テーマですべてのフォーマットに対応する必要はありません。また、テーマやプラグインで新規フォーマットを追加することはできません。フォーマットを標準化することにより、数多くのテーマ間での互換性を確立し、外部ブログツールが一貫性を持ってこの機能にアクセスできるようになります。
provide a specific method for specifying the display "format" of a post.  This replaces the need to use categories to accomplish the same thing, and even more importantly, is portable between themes that support those formats!
+
  
Using '''Asides''' as an example, in the past, a category called Asides was created, and posts were assigned that category, and then displayed differently based on styling rules from [[Template_Tags/post_class|post_class()]] or from [[Conditional Tags|in_category('asides')]].
+
投稿フォーマットに対応しているテーマを使っているユーザーはラジオボタンのリストからフォーマットを選択できます。
  
With [[Post Formats]], the new approach allows a theme to define a Post Format (e.g. [[Function_Reference/add_theme_support|add_theme_support('post-formats', array( 'aside'))]]), and then the post format can be selected in the Publish meta box when saving the post.  A function call of [[Function_Reference/get_post_format|get_post_format( $post->ID )]] can be used to determine the format, and [[Template_Tags/post_class|post_class()]] will also create the "format-asides" class, for pure-css styling.
+
'''アサイド(Asides)'''という投稿フォーマットを例にとってみます。今までは、「アサイド」カテゴリーを作成しここに投稿を含めてから、<tt>[[テンプレートタグ/post_class|post_class()]]</tt> または <tt>[[Conditional Tags|in_category('asides')]]</tt> というタグを使って表示スタイルを変えていました。
  
The following Post Formats are supported.
+
新しいアプローチである'''投稿フォーマット'''を使えば、テーマ内で投稿フォーマット(例: <tt>[[関数リファレンス/add_theme_support|add_theme_support('post-formats', array( 'aside'))]]</tt>)のサポートを追加し、投稿を保存する際にその形式を「公開」メタ情報ボックスから選ぶことができます。<tt>[[関数リファレンス/get_post_format|get_post_format( $post->ID )]]</tt> 関数で形式を定義でき、<tt>[[テンプレートタグ/post_class|post_class()]]</tt> で "format-asides" クラスを生成し、CSS のみのスタイリングができます。
  
* aside - Typically styled without a title. Similar to a Facebook note update.
+
== 対応している投稿フォーマット <span id="Supported_Formats></span>==
* chat - A chat transcript, like so:
+
 
 +
対応しているテーマ内で、ユーザーは以下の投稿フォーマットを利用できます。
 +
 
 +
; aside(アサイド): 通常タイトルなしで表示。Facebook の Notes のようなもの。
 +
; gallery(ギャラリー) : 画像ギャラリー。ギャラリーショートコードと添付画像を含む投稿など。
 +
; image(画像) : 単独の画像。投稿本文内の最初の <img /> タグが画像と見なされる。もし投稿本文が URL のみの場合はそれが動画 URL となり、投稿タイトル (post_title) が画像の title 属性となる。
 +
; link(リンク) : 他サイトへのリンク。投稿本文内の一つ目の <a href=””> タグがその投稿の外部リンクと見なされる。もし投稿本文が URL のみの場合はその URL が外部リンクとなり、投稿タイトル (post_title) が名前となる。
 +
; quote(引用) :  引用文。引用文と引用元のテキストエリアを設けるのが望ましい。引用文は <nowiki><blockquote>$quote_wrapped_with_paragraphs<p><cite>$citation</cite></p></blockquote></nowiki> として post_content に保存すること。
 +
; status(ステータス) : 通常140程度の短い近況アップデート。Twitter のツイートのようなもの。
 +
; video(動画) : 単独の動画、または動画のプレイリスト。投稿本文内の最初の <video /> タグまたは object/embed が動画と見なされる。もし投稿本文が URL のみの場合は、それが動画 URL となる。
 +
; audio(音声) : 音声ファイル、またはプレイリスト。ポッドキャストにも使える。
 +
; chat(チャット) : チャット履歴。例えば以下のようなもの。
 
<pre>
 
<pre>
John: foo
+
太郎: やあ!
Mary: bar
+
花子: 元気?
John: foo 2
+
一郎: おう!
 
</pre>
 
</pre>
* gallery - A gallery of images.
 
* link - A link to another site. The first <a href=””> tag in the post content will be considered the external link for that post. Alternatively, if the post consists only of a URL, that will be the URL and the title (post_title) will be the name.
 
* image - A single image. The first <img /> tag in the post will be considered the image. Alternatively, if the post consists only of a URL, that will be the image URL and the title of the post (post_title) will be the title attribute for the image.
 
* quote -  A quotation. Suggested UI is a quote text area and a citation textarea.  The quote should be saved to post_content as <nowiki><blockquote>$quote_wrapped_with_paragraphs<p><cite>$citation</cite></p></blockquote></nowiki>.
 
* status - A short status update, usually limited to 140 characters. Similar to a Twitter status update.
 
* video - A single video. The first <video /> tag or object/embed in the post content will be considered the video. Alternatively, if the post consists only of a URL, that will be the video URL.
 
  
Themes and plugins can set the format with [[Function_Reference/set_post_format|set_post_format()]] and retrieve the format with [[Function_Reference/get_post_format|get_post_format()]].
+
注 : 投稿の作成や編集で投稿フォーマットを指定しない場合は、「標準」が使用されます。不正な投稿フォーマットが指定された場合も、"フォーマットなし" の意味で「標準」が使用されます。
  
== Adding Theme Support ==
 
  
Themes need to use [[Function_Reference/add_theme_support|add_theme_support()]] to tell WordPress which post formats to support by passing an array of formats like so:
+
== 関数リファレンス <span id="Function_Reference"></span> ==
 +
 
 +
{| cellspacing="10" width="100%"
 +
|- valign="top"
 +
| width="50%" |
 +
 
 +
{| class="widefat"
 +
|- style="background:#464646; color:#d7d7d7;"
 +
! '''メイン関数'''
 +
|-
 +
|
 +
* <tt>[[関数リファレンス/set_post_format | set_post_format()]] /[[:en:Function_Reference/set_post_format |en]]</tt>
 +
* <tt>[[関数リファレンス/get_post_format | get_post_format()]]</tt>
 +
* <tt>[[関数リファレンス/has_post_format | has_post_format()]]</tt>
 +
|}
 +
 
 +
| width="50%" |
 +
 
 +
{| class="widefat"
 +
|- style="background:#464646; color:#d7d7d7;"
 +
! '''その他の関数'''
 +
|-
 +
|
 +
* <tt>[[関数リファレンス/get_post_format_link | get_post_format_link()]] /[[:en:Function_Reference/get_post_format_link |en]]</tt>
 +
* <tt>[[関数リファレンス/get_post_format_string | get_post_format_string()]] /[[:en:Function_Reference/get_post_format_string |en]]</tt>
 +
|}
 +
|}
 +
 
 +
== テーマ対応方法 <span id="Adding_Theme_Support"></span>==
 +
 
 +
テーマをこの機能に対応させるには、functions.php 内で <tt>[[関数リファレンス/add_theme_support|add_theme_support()]]</tt> を使う。投稿フォーマットの配列を以下のように渡し、どの投稿フォーマットに対応しているのかを WordPress へ知らせる。
  
 
<pre>add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );</pre>
 
<pre>add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );</pre>
  
Then, in the theme, make use of  [[Function_Reference/get_post_format|get_post_format()]] to check the format for a post, and change its presentation accordingly. Note that posts with the default format will return a value of FALSE.  Or make use of the [[Conditional Tags|conditional tag]] ''has_post_format()'':
+
注意 : この関数は [[プラグイン API/アクションフック一覧/init|init]]/[[:en:Plugin_API/Action_Reference/init|en]] フックが呼び出される前に呼び出す必要があります。呼び出すとすれば [[プラグイン API/アクションフック一覧/after setup theme|after_setup_theme]]/[[:en:Plugin_API/Action_Reference/after_setup_theme|en]] フックが適切でしょう。
  
if ( has_post_format( 'video' ) {
 
  echo 'this is the video format';
 
}
 
  
== Backwards Compatibility ==
+
== 投稿タイプ対応の追加 <span id="Adding_Post_Type Support"></span> ==
  
If your plugin or theme needs to be compatible with earlier versions of WordPress, you need to add terms named post-format-$format to the "post_format" taxonomy.  For example,
+
投稿タイプは、WordPress にどのポスト形式をサポートするかをファイルに伝えるために、functions.php 内で、<tt>[[関数リファレンス/add_post_type_support|add_post_type_support()]]</tt> を使う必要があります。
 +
 
 +
<pre>// 投稿タイプ「page」に投稿フォーマットを追加
 +
add_post_type_support( 'page', 'post-formats' );</pre>
 +
 
 +
次の例ではカスタム投稿タイプ「my_custom_post_type」を登録し、投稿フォーマットを追加します。
 +
 
 +
<pre>// カスタム投稿タイプ「my_custom_post_type」を登録
 +
add_action( 'init', 'create_my_post_type' );
 +
function create_my_post_type() {
 +
    register_post_type( 'my_custom_post_type',
 +
      array(
 +
        'labels' => array( 'name' => __( '製品' ) ),
 +
        'public' => true
 +
    )
 +
  );
 +
}
 +
 
 +
// カスタム投稿タイプ「my_custom_post_type」に投稿フォーマットを追加
 +
add_post_type_support( 'my_custom_post_type', 'post-formats' );</pre>
 +
 
 +
あるいは関数 [[関数リファレンス/register_post_type|register_post_type()]] の中で 'supports' パラメータ配列に 'post-formats' を追加します。次の例は上の例と同等です。
 +
 
 +
<pre>// カスタム投稿タイプ「my_custom_post_type」を登録し、投稿フォーマットを追加
 +
add_action( 'init', 'create_my_post_type' );
 +
function create_my_post_type() {
 +
    register_post_type( 'my_custom_post_type',
 +
      array(
 +
        'labels' => array( 'name' => __( '製品' ) ),
 +
        'public' => true,
 +
        'supports' => array('title', 'editor', 'post-formats')
 +
    )
 +
  );
 +
} </pre>
 +
 
 +
== フォーマットの使用<span id="Using_Formats"></span> ==
 +
 
 +
テーマでは <tt>[[関数リファレンス/get_post_format|get_post_format()]]</tt> して投稿フォーマットを確認し、フォーマットに応じて表示を変更できます。デフォルトの投稿フォーマットは FALSE 値を返すことに注意してください。あるいは <tt>[関数リファレンス/has_post_format|has_post_format()]]</tt> [[条件分岐タグ]] を使用してください。
  
 
<pre>
 
<pre>
wp_insert_term('post-format-aside', 'post_format');
+
if ( has_post_format( 'video' )) {
 +
  echo '「動画」投稿フォーマットです。';
 +
}
 
</pre>
 
</pre>
  
You must also register the post_format taxonomy with [[Function_Reference/register_taxonomy|register_taxonomy()]].
+
スタイルのルールから投稿フォーマットを使用する方法もあります。テーマは投稿を囲むラッパーのコードで <tt>[[テンプレートタグ/post_class|post_class()]]</tt> 関数を使用して動的なスタイルクラスを追加できます。投稿フォーマットではこの方法を使用して「format-foo」という名前の追加のクラスを付けます。
 +
 
 +
例えば「ステータス」投稿フォーマットの投稿のタイトルを隠すには、テーマのスタイルシートに次の行を追加します。
 +
<pre>
 +
.format-status .post-title {
 +
display:none;
 +
}
 +
</pre>
 +
 
 +
=== スタイリングについてのアドバイス<span id="Suggested_Styling"></span> ===
 +
 
 +
投稿フォーマットの表示をどのようにデザインするかは自由ですが、それぞれのフォーマットには一般に使われるある種の「スタイル」があります。各フォーマットの意図を理解することは、読者に対して情報の種類をビジュアルに分かりやすく伝える意味で重要です。
 +
 
 +
たとえば投稿フォーマットの「アサイド」「リンク」「ステータス」は通常、タイトルや作成者の情報なしで表示されます。これらはシンプルで、短く、小さな情報で、「アサイド」が恐らく 1つか、2つの段落であるのに対し、「リンク」は URL へのリンクを含む 1つの文です。両方とも 1つの投稿ページへのリンクを( <tt>[[テンプレートタグ/the permalink|the_permalink()]]</tt> を使用して)含み、コメントを許可できますが、「ステータス」にはそのようなリンクはないでしょう。
 +
 
 +
一方、「画像」投稿フォーマットの投稿は、大部分 1つの画像のみを含み、キャプションやテキストが付いたり、付かなかったりします。「音声」「動画」投稿フォーマットの場合は画像の代わりに音声や動画を含むでしょう。これら 3つの投稿フォーマットの投稿では、コンテンツの表示にプラグインか [[oEmbed]] を使用できます。タイトルや作成者名はコンテンツ本体に含まれる場合、明示的に表示されないかもしれません。
 +
 
 +
「引用」投稿フォーマットは特に、著名な人物からのシンプルな引用の投稿に適しています。投稿の本文に引用文のみを書き、タイトルに人物名を書けば、投稿のデザインとして <tt>[[テンプレートタグ/the content|the_content()]]</tt> の出力を blockquote 形式で表示し、署名の位置に <tt>[[テンプレートタグ/the title|the_title()]]</tt> で引用元の名前を表示できます。
 +
 
 +
「チャット」投稿フォーマットは多くの場合、等幅形式で表示されるでしょう。.format-chat のスタイルとして、投稿のコンテンツを等幅フォント + グレイの背景色の div 的に表示することで、チャットのセッションとしてビジュアルに表現します。
 +
 
 +
 
 +
=== 子テーマ内の投稿フォーマット <span id="Formats_in_a_Child_Theme"></span>===
 +
[[子テーマ]]は親テーマで定義された投稿フォーマットを継承します。子テーマでの投稿フォーマット用に <tt>[[関数リファレンス/add_theme_support|add_theme_support()]]</tt> を呼び出す場合は、親テーマでの定義の後に呼び出す必要があります。既存のリストに対して'''上書き'''します。追加ではありません。
 +
 
 +
<pre>
 +
add_action( 'after_setup_theme', 'childtheme_formats', 11 );
 +
function childtheme_formats(){
 +
    add_theme_support( 'post-formats', array( 'aside', 'gallery', 'link' ) );
 +
}
 +
</pre>
 +
 
 +
<tt>[[関数リファレンス/remove_theme_support|remove_theme_support('post-formats')]]</tt> を呼び出すとすべての投稿フォーマットが削除されます。
 +
 
 +
== 後方互換 <span id="Backwards_Compatibility"></span>==
 +
 
 +
この機能を含めたプラグインやテーマを古いバージョンにも対応させるには、post-format-$format というキーワード項目を "post_format" に含める必要がある。例えば以下の通り。
 +
 
 +
<pre>
 +
wp_insert_term( 'post-format-aside', 'post_format' );
 +
</pre>
 +
 
 +
また、<tt>[[関数リファレンス/register_taxonomy|register_taxonomy()]]</tt> を使って post_format タクソノミーを登録すること。
 +
 
 +
== ソースファイル <span id="Source_File"></span> ==
 +
* {{Trac|wp-includes/post-formats.php}}
 +
 
 +
== 外部リソース <span id="External_Resources"></span> ==
 +
 
 +
* [http://www.narga.net/styling-wordpress-chat-transcript/ Styling Chat Transcript with WordPress Custom Post Format] by Narga
 +
* [http://ottopress.com/2010/post-types-and-formats-and-taxonomies-oh-my/ Post Types and Formats and Taxonomies, oh my!] by Otto
 +
* [http://andrewnacin.com/2011/01/27/on-standardized-post-formats/ On standardized Post Formats] by Andrew Nacin
 +
* [http://markjaquith.wordpress.com/2010/11/12/post-formats-vs-custom-post-types/ Post Formats vs. Post Types] by Mark Jaquith
 +
* [http://lisasabin-wilson.com/wordpress-3-1-post-formats-reference WordPress 3.1 Post Formats Reference] by Lisa Sabin-Wilson
 +
* [http://dougal.gunters.org/blog/2010/12/10/smarter-post-formats Smarter Post Formats?] by Dougal Campbell
 +
* [http://generatewp.com/theme-support/ WordPress Theme Support Generator]
 +
 
 +
== 関連項目 ==
 +
{{Theme Support}}
 +
{{Post Formats}}
  
{{原文|Post Formats|94886}}<!-- 11:01, 12 November 2010 Bono 版 -->   
+
{{原文|Post Formats|153457}}<!-- 07:57, 16 August 2015‎ Atachibana版 -->   
  
[[Category:Advanced Topics]]
+
{{DEFAULTSORT:とうこうけいしき}}<!-- 訳語仮置き -->
 +
[[Category:上級トピック]]
 +
[[Category:wp3.1]]
 +
[[Category:UI_Link]]
  
 
[[en:Post Formats]]
 
[[en:Post Formats]]
 +
[[es:Formatos de Entrada]]
 +
[[ja:投稿フォーマット]]
 +
[[pt-br:Formatos de Posts]]
 +
[[ru:Форматы записей]]
 +
[[ko:Post Formats]]
 +
[[zh-cn:文章形式]]
 +
[[zh-tw:文章格式]]

2015年8月16日 (日) 17:26時点における最新版

はじめに

投稿フォーマットバージョン 3.1 から導入されたテーマ機能で、テーマが投稿表示をカスタマイズする際に使えるメタ情報を指します。投稿フォーマット機能は、対応しているすべてのテーマで使える標準となるフォーマットをいくつか定義しています。テーマですべてのフォーマットに対応する必要はありません。また、テーマやプラグインで新規フォーマットを追加することはできません。フォーマットを標準化することにより、数多くのテーマ間での互換性を確立し、外部ブログツールが一貫性を持ってこの機能にアクセスできるようになります。

投稿フォーマットに対応しているテーマを使っているユーザーはラジオボタンのリストからフォーマットを選択できます。

アサイド(Asides)という投稿フォーマットを例にとってみます。今までは、「アサイド」カテゴリーを作成しここに投稿を含めてから、post_class() または in_category('asides') というタグを使って表示スタイルを変えていました。

新しいアプローチである投稿フォーマットを使えば、テーマ内で投稿フォーマット(例: add_theme_support('post-formats', array( 'aside')))のサポートを追加し、投稿を保存する際にその形式を「公開」メタ情報ボックスから選ぶことができます。get_post_format( $post->ID ) 関数で形式を定義でき、post_class() で "format-asides" クラスを生成し、CSS のみのスタイリングができます。

対応している投稿フォーマット

対応しているテーマ内で、ユーザーは以下の投稿フォーマットを利用できます。

aside(アサイド)
通常タイトルなしで表示。Facebook の Notes のようなもの。
gallery(ギャラリー) 
画像ギャラリー。ギャラリーショートコードと添付画像を含む投稿など。
image(画像) 
単独の画像。投稿本文内の最初の <img /> タグが画像と見なされる。もし投稿本文が URL のみの場合はそれが動画 URL となり、投稿タイトル (post_title) が画像の title 属性となる。
link(リンク) 
他サイトへのリンク。投稿本文内の一つ目の <a href=””> タグがその投稿の外部リンクと見なされる。もし投稿本文が URL のみの場合はその URL が外部リンクとなり、投稿タイトル (post_title) が名前となる。
quote(引用) 
引用文。引用文と引用元のテキストエリアを設けるのが望ましい。引用文は <blockquote>$quote_wrapped_with_paragraphs<p><cite>$citation</cite></p></blockquote> として post_content に保存すること。
status(ステータス) 
通常140程度の短い近況アップデート。Twitter のツイートのようなもの。
video(動画) 
単独の動画、または動画のプレイリスト。投稿本文内の最初の <video /> タグまたは object/embed が動画と見なされる。もし投稿本文が URL のみの場合は、それが動画 URL となる。
audio(音声) 
音声ファイル、またはプレイリスト。ポッドキャストにも使える。
chat(チャット) 
チャット履歴。例えば以下のようなもの。
太郎: やあ!
花子: 元気?
一郎: おう!

注 : 投稿の作成や編集で投稿フォーマットを指定しない場合は、「標準」が使用されます。不正な投稿フォーマットが指定された場合も、"フォーマットなし" の意味で「標準」が使用されます。


関数リファレンス

メイン関数
その他の関数

テーマ対応方法

テーマをこの機能に対応させるには、functions.php 内で add_theme_support() を使う。投稿フォーマットの配列を以下のように渡し、どの投稿フォーマットに対応しているのかを WordPress へ知らせる。

add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );

注意 : この関数は init/en フックが呼び出される前に呼び出す必要があります。呼び出すとすれば after_setup_theme/en フックが適切でしょう。


投稿タイプ対応の追加

投稿タイプは、WordPress にどのポスト形式をサポートするかをファイルに伝えるために、functions.php 内で、add_post_type_support() を使う必要があります。

// 投稿タイプ「page」に投稿フォーマットを追加
add_post_type_support( 'page', 'post-formats' );

次の例ではカスタム投稿タイプ「my_custom_post_type」を登録し、投稿フォーマットを追加します。

// カスタム投稿タイプ「my_custom_post_type」を登録
add_action( 'init', 'create_my_post_type' );
function create_my_post_type() {
    register_post_type( 'my_custom_post_type',
      array(
        'labels' => array( 'name' => __( '製品' ) ),
        'public' => true
    )
  );
}

// カスタム投稿タイプ「my_custom_post_type」に投稿フォーマットを追加
add_post_type_support( 'my_custom_post_type', 'post-formats' );

あるいは関数 register_post_type() の中で 'supports' パラメータ配列に 'post-formats' を追加します。次の例は上の例と同等です。

// カスタム投稿タイプ「my_custom_post_type」を登録し、投稿フォーマットを追加
add_action( 'init', 'create_my_post_type' );
function create_my_post_type() {
    register_post_type( 'my_custom_post_type',
      array(
        'labels' => array( 'name' => __( '製品' ) ),
        'public' => true,
        'supports' => array('title', 'editor', 'post-formats')
    )
  );
} 

フォーマットの使用

テーマでは get_post_format() して投稿フォーマットを確認し、フォーマットに応じて表示を変更できます。デフォルトの投稿フォーマットは FALSE 値を返すことに注意してください。あるいは [関数リファレンス/has_post_format|has_post_format()]] 条件分岐タグ を使用してください。

if ( has_post_format( 'video' )) {
  echo '「動画」投稿フォーマットです。';
}

スタイルのルールから投稿フォーマットを使用する方法もあります。テーマは投稿を囲むラッパーのコードで post_class() 関数を使用して動的なスタイルクラスを追加できます。投稿フォーマットではこの方法を使用して「format-foo」という名前の追加のクラスを付けます。

例えば「ステータス」投稿フォーマットの投稿のタイトルを隠すには、テーマのスタイルシートに次の行を追加します。

.format-status .post-title {
display:none;
}

スタイリングについてのアドバイス

投稿フォーマットの表示をどのようにデザインするかは自由ですが、それぞれのフォーマットには一般に使われるある種の「スタイル」があります。各フォーマットの意図を理解することは、読者に対して情報の種類をビジュアルに分かりやすく伝える意味で重要です。

たとえば投稿フォーマットの「アサイド」「リンク」「ステータス」は通常、タイトルや作成者の情報なしで表示されます。これらはシンプルで、短く、小さな情報で、「アサイド」が恐らく 1つか、2つの段落であるのに対し、「リンク」は URL へのリンクを含む 1つの文です。両方とも 1つの投稿ページへのリンクを( the_permalink() を使用して)含み、コメントを許可できますが、「ステータス」にはそのようなリンクはないでしょう。

一方、「画像」投稿フォーマットの投稿は、大部分 1つの画像のみを含み、キャプションやテキストが付いたり、付かなかったりします。「音声」「動画」投稿フォーマットの場合は画像の代わりに音声や動画を含むでしょう。これら 3つの投稿フォーマットの投稿では、コンテンツの表示にプラグインか oEmbed を使用できます。タイトルや作成者名はコンテンツ本体に含まれる場合、明示的に表示されないかもしれません。

「引用」投稿フォーマットは特に、著名な人物からのシンプルな引用の投稿に適しています。投稿の本文に引用文のみを書き、タイトルに人物名を書けば、投稿のデザインとして the_content() の出力を blockquote 形式で表示し、署名の位置に the_title() で引用元の名前を表示できます。

「チャット」投稿フォーマットは多くの場合、等幅形式で表示されるでしょう。.format-chat のスタイルとして、投稿のコンテンツを等幅フォント + グレイの背景色の div 的に表示することで、チャットのセッションとしてビジュアルに表現します。


子テーマ内の投稿フォーマット

子テーマは親テーマで定義された投稿フォーマットを継承します。子テーマでの投稿フォーマット用に add_theme_support() を呼び出す場合は、親テーマでの定義の後に呼び出す必要があります。既存のリストに対して上書きします。追加ではありません。

add_action( 'after_setup_theme', 'childtheme_formats', 11 );
function childtheme_formats(){
     add_theme_support( 'post-formats', array( 'aside', 'gallery', 'link' ) );
}

remove_theme_support('post-formats') を呼び出すとすべての投稿フォーマットが削除されます。

後方互換

この機能を含めたプラグインやテーマを古いバージョンにも対応させるには、post-format-$format というキーワード項目を "post_format" に含める必要がある。例えば以下の通り。

wp_insert_term( 'post-format-aside', 'post_format' );

また、register_taxonomy() を使って post_format タクソノミーを登録すること。

ソースファイル

外部リソース

関連項目

テーマサポート: add_theme_support(), remove_theme_support(), current_theme_supports()
テーマ機能: サイドバー, ナビゲーションメニュー, 投稿フォーマット, 投稿サムネイル, カスタム背景, カスタムヘッダー, 自動フィードリンク, html5, コンテンツ幅, editor-style


投稿フォーマット: set_post_format(), get_post_format(), has_post_format(), the_post_format_audio() /en, get_the_post_format_media() /en, get_content_audio() /en, the_post_format_chat() /en, get_the_post_format_chat() /en, get_content_chat() /en, add_chat_detection_format() /en, the_post_format_gallery() /en, get_content_galleries() /en, get_post_gallery_images(), the_post_format_image() /en, get_the_post_format_image() /en, get_content_images() /en, the_post_format_quote() /en, get_the_post_format_quote() /en, get_content_quote() /en, the_post_format_url() /en, get_the_post_format_url() /en, get_content_url() /en, the_post_format_video() /en, get_content_video() /en, the_remaining_content() /en, get_the_remaining_content() /en, get_post_format_meta() /en, post_format_content_class() /en, get_post_format_content_class() /en, post_formats_compat() /en


最新英語版: WordPress Codex » Post Formats最新版との差分