「投稿フォーマット」は記事のフォーマット(種類)を付加して選択できるようにする機能。
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('フォーマット名')) {
//投稿フォーマットが「フォーマット名」だったときの処理
}