CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

WordPress 3.1から投稿フォーマットという機能が追加されているのですが、これまで活用できていなかったので、ここで少し勉強したいと思います。

投稿フォーマットでは、投稿内容を各フォーマットに合わせて、デザイン・レイアウトを切り替えることができます。
例えば、記事として投稿する場合でも、通常の投稿とは別で、リンク集や画像ギャラリーとしてレイアウトを分けたい場合に役に立ちます。

functions.phpでフォーマットを有効にしてみる

フォーマット機能を有効にするためには、functions.phpで以下を追加するだけです。

	add_theme_support('post-formats', array(
		'aside', 'image', 'video', 'audio', 'quote', 'link', 'gallery',
	));

そうすると、投稿画面に以下のような項目が表示されるようになります。

投稿フォーマット

投稿フォーマット


標準に加え、関数「add_theme_support」で指定したとおり、アサイド、画像、動画、音声、引用、リンク、ギャラリーのフォーマットが追加されました。

投稿フォーマットをテンプレートで活用する

投稿時に選択した投稿フォーマットを活用する1つの例として、クラスの切り替えがあります。

<div <?php post_class(); ?>>
(コンテンツ内容)
</div>

例えばフォーマットに「画像」を選択した場合に、「class=”format-image”」が出力されるので、そのcssを用意しておけばデザインを切り替えることができるわけです。

もう1つはテンプレート自体を切り替える方法です。
single.phpなどで以下のように記述すれば、

get_template_part('content', get_post_format()); 

「画像」を選択した場合に「content-image.php」のテンプレートが呼び出されるので、好きなレイアウトに切り替えることができます。

デザイナとコーダーとしっかりとした設計ができれば、十分に活用できそうですね。

このエントリーをはてなブックマークに追加

Comment

Monthly Archives

Search