wordpress 投稿フォーマット機能

2013年6月2日

「投稿フォーマット」は記事のフォーマット(種類)を付加して選択できるようにする機能。

投稿フォーマットを有効化

functions.php に以下を記述し、「投稿フォーマット」機能を有効化する。

//投稿フォーマット'gallery'を有効にする。
add_theme_support('post-formats', array('gallery'));

この記述により、「投稿」の「新規追加」の際、「フォーマット」の欄が追加され、記事のフォーマットを選択できるようになる。上記の場合は「ギャラリー記事」のフォーマットが追加される。

投稿フォーマットには以下のようなものがある。

投稿フォーマット
投稿フォーマット 意味
aside(アサイド) タイトルがない短い記事
gallery(ギャラリー) 画像ギャラリー
image(画像) 単独の画像
chat(チャット) チャットの履歴
link(リンク) 他サイトへのリンク
quote(引用) 引用文と引用元のテキストエリア
status(ステータス) 通常140程度の短い記事(ツイートのようなもの)
audio(音声) 単独のオーディオファイル
video(動画) 単独の動画

投稿フォーマットを複数指定する場合は、カンマで区切って指定する。

add_theme_support('post-formats', array('gallery', 'image', 'status'));

カスタム投稿タイプにで投稿フォーマットを有効化するには、’supports’パラメータに指定する。

register_post_type(
    'news',
    array(
      'label' => __('News', 'domain'),
      'labels' => array(
        'add_new_item' => __('Add New News', 'domain'),
      ),
      'public' => true,
      'hierarchicla' => false,
      'has_archive' => true,
      'supports' => array(
        'title',
        'editor',
        'thumbnail',
        'custom-fields',
        'excerpt',
        'post-formats'  //投稿フォーマットを有効化
      ),
      'menu_position' => 5
    )
  );

投稿フォーマットと通常フォーマットの条件分岐

「has_post_format()」を使って、投稿に設定されている投稿フォーマットを判定する。

書式は以下のようになる。

if( has_post_format('フォーマット名')) {
    //投稿フォーマットが「フォーマット名」だったときの処理
}