投稿フォーマットは、WordPress 3.1に搭載されるエキサイティングな機能のひとつです。しかし、ほとんどの初心者は投稿フォーマットとは何なのか、なぜそれが重要なのか、そしてこの素晴らしい機能をどのように活用できるのか、見当がつきません。そこで、WordPress 3.1のアルファ版を試用した後、WordPress 3.1に搭載される投稿フォーマットについて、何が、なぜ、どのように機能するのかを説明することにしました。
投稿フォーマットとは?
投稿フォーマットとは、投稿の表示をカスタマイズするためにテーマが使用できるメタ情報のことです。わかりやすく言うと、投稿フォーマットは特定の投稿をスタイリングする方法です。この機能を使うことで、特定の投稿の表示「フォーマット」を指定することができます。動画、リンク、画像、音声ファイル、引用、状態などをすべて1つの場所に表示することができ、さらにそれに応じてスタイルが変更されるのが最大の特徴だ。
使用例
Digging into WordPress公式ブログを見てみよう。ホームページには2種類の投稿タイプがある。一つは、他のブログと同じように抜粋を表示する完全な投稿である。しかし、興味深いのは、読者にとって有用と思われる他のブログ記事への外部リンクである特定の投稿スタイルを持っていることだ。
ブログはリソースを共有することがすべてであり、ブロガーが読者にとって役に立つと思った外部リソースにリンクを張りたい場合がよくある。ブロガーが直面する主な問題は、読者に他のサイトへのリンクを伝えるために新しい投稿をしなければならないことだ。これでは、エンドユーザーは投稿のタイプがわからず、混乱してしまう。投稿者が外部リンクを表示させたいことを知るために、ユーザーは投稿の全表示をクリックしなければならないこともよくある。投稿タイトルから外部リンクにリンクできるこのようなトリックがあるとしても、この投稿フォーマットの問題ですべて解決することができる。テーマデザイナーは、Jeff StarrがDigging into WordPressで行っているように、「リンクフォーマット」を別の方法で表示するようにスタイルすることができる。
この機能の威力は筆舌に尽くしがたい。というのも、Twitterのように短いステータスの投稿を書くことができ、あまり多くの作業をすることなく、異なるスタイルで表示させることができるからだ。気に入った引用を見つけたら、ワンクリックでシェアして目立たせることができる。要するに、「投稿フォーマット」機能はWordPressをより完全なブログ・プラットフォームにするということだ。
投稿フォーマットを使う理由
投稿フォーマットは、同様のスタイリング機能を実現するためにカテゴリーを使用する必要性に取って代わるものです。これまでは、開発者がWordPressのカテゴリーをハックしてこの効果を実現していましたが、その結果、新規ブロガーにとって多くの混乱と混乱を生むことになりました。投稿フォーマットを使えば、カテゴリーを減らすだけでなく、投稿フォーマットをサポートしているテーマ間でブログをポータブルにすることができます。
また、ユーザーがどのタイプの投稿を表示しているのかが正確にわかるため、読者にとってより使いやすいブログになります。さらに、投稿日: ブログページにさまざまなスタイルの投稿が表示されるため、ブログがより生き生きとしたものになります。現在、ほとんどのブログの投稿表示は、すべて同じように見えるため、非常に退屈に見えます。投稿フォーマットは、WordPressで運営されるサイトが必要とする空白を埋めるものです。
WordPress 3.1での投稿フォーマットの追加と使用方法
投稿サムネイル、メニュー、カスタム背景、カスタムヘッダーと同様に、投稿フォーマットもテーマ有効化した機能になります。つまり、テーマが対応している場合にのみ、この機能が利用できるようになります。
警告このチュートリアルに従うには、HTML、CSS、WordPressループの機能を十分に理解している必要があります。
WordPress 3.1で「投稿フォーマット」を有効化するには、テーマのfunctions.phpファイルを開き、以下のコードを貼り付ける必要があります:
[cbk1]
注:利用可能な投稿フォーマットは、asideとgalleryだけではありません。利用可能な投稿フォーマットのリストは以下の通りです:
- aside – 一般的にタイトルなしのスタイル。Facebookの状態更新に似ている。
- chat – チャットの記録。
- gallery – 画像のギャラリー。
- link – 他のサイトへのリンク。
- image – 個別画像。
- quote – 引用文。
- status – 通常140文字に制限されている短い状態更新。Twitterの状態更新に似ている。
- video – 個別動画。
投稿フォーマットの完全なリストについては、WordPress Codexを参照してください。
このコードを追加すると、投稿の書き込みパネルの右側のカラムに、公開するフィールドが追加されます。
投稿を書いたら、投稿フォーマットを変更して公開することができます。これで、投稿をあらかじめ用意されたフォーマットで表示することができます。
しかし、ちょっと待ってください、私たちはまだこのスタイル設定済みの投稿フォーマットをテーマのどこにも指定していないのです。つまり、WordPressの投稿パネルでフォーマットを選択しても、テーマが表示方法を知らないため、違いは生じない。このため、投稿ループを編集する必要があります。
has_post_format()という条件分岐タグを利用します。
[cbk2]
さあ、何を待っているんだい?この素晴らしい機能の準備を始めましょう。この機能を利用した新しいテーマが登場し、WordPressがマイクロブログ・プラットフォームとしてますます利用されるようになることは想像に難くない。
追加情報
WordPress Codex 投稿フォーマット
投稿タイプ、投稿フォーマット、タクソノミー!
投稿フォーマット vs カスタム投稿タイプ
Rahul
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
}
Where do we have to add this code. Thanks in advance . Inside Index.php or somewhere else.
saurabh
Now making categories as galleries is really simple.
Keely
Where exactly is this chuck of code added?
I can’t find a thing about this anywhere; not being a php programmer I don’t know where to put it.
Editorial Staff
The code shown in the post which utilizes has_post_format() is what you will put inside your loop to give each post a specific styling.
管理者
Dave
It looks like your code is missing a closing bracket in the first line. It currently reads:
if ( has_post_format( ‘aside’ ) {
but it should be:
if ( has_post_format( ‘aside’ )) {
Great tutorial as always.
hosseincode
yeah, wpbeginer should have fixed this…
WPBeginner Support
We have updated the post, thanks Dave.
管理者
Tom
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
I understand the concept of posts, pages, categories and tags – that’s easy.
As I now understand, the new feature of “post formats” (WP v3.1) relates to the styling of a “post” (think: “blog post”), whereas the concept of “post types” really means one of the five default WP “content types” (post, page, attachment, revisions, nav menus – see (http://codex.wordpress.org/Post_Types).
Likewise, the new feature of “custom post types” (WP v3.0) relates to creating *new* “post types” (outside of posts, pages, etc.), what ever that might be.
WOW…that sounds understandable in…t h e o r y.
OK, I DO get the new “post format” in theory…but I am a visual type of learner, so I wanted to see what they could look like.
So your example of the ‘link’ “post format” post at Digwp.com was good, but I also checked out some other themes, like: http://demo.themify.me/#theme=wumblr
(side note here: confusing! – see how they refer to post formats as exactly that here: http://themify.me/themes/wumblr > Features… but at the top of that same page they call them “post types”).
Anyhow…before I get to the “post types” feature of WP, I have a few questions about the “post formats” feature:
1. Let’s say I want to make use of new “post formats” in an existing theme; I add these 10 different post formats in WP and specify them in the theme (as per your instructions). But then what..? How does the actual *DESIGN* for each of those post formats come about on the site?
Is it likely that most theme developers (mostly for the paid-for ones) will update their themes (the coding part, plus the actual design of the “post format” part) – or should users wait for new themes to hit the market that offer this for the first time?
What about theme frameworks – do we know of any that already offer child themes with the post formats feature incorporated? Some theme frameworks allow you to create (or radically customize) your own child themes based on a basic version, with not much or no coding involved…do we know if any providers have this level of customization already implemented?
2. When I look at some of the themes that already use “post formats” (see: http://themify.me/demo/#theme=wumblr) – what I notice is that *some* of the category names of the individual post formats match the names in the list of standardized formats (see: http://codex.wordpress.org/Post_Formats#Supported_Formats) – but some don’t! The following names that the Wumblr theme uses are not on that list: ‘general’ and ‘notes’- while ‘aside’ and ‘gallery’ are on the list but not chosen category names for any of Wumblr’s new format type posts. So this leads me to ask…
Compared to the usual practice of freely choosing names for categories (often for SEO purposes), what are the rules for naming categories for “post format” posts? Do they HAVE to match the names on the list of standard “post formats”? If not, how would that change the code you suggested in your article, following where you say: “We are going to be utilizing the conditional tag: has_post_format() …”? If you DID use names in that code that differ from the standardized list, would that not go against the rule of standardization and make it difficult to switch themes?
I also wonder if by categorizing “post format” type posts by choosing names like: ‘link’ or ‘status’ or ‘quote’ for instance…how can anyone expect people to actively CHOOSE to click categories with THESE names, rather than posts that typically carry category names *describing their content*!!????
With ‘video’ and ‘image’ and ‘gallery’ … I could still understand that people might actively and out of curiosity click those to be shown a list of all the posts with that type of content, but link, status, quote….?
~~So does anyone understand how all of this works?~~
So I make it VERY short with my question on “POST TYPES” or more precisely “custom post types”:
Where do THEY fit in here? I understand they are NOT the “blog post” type posts we are talking…but “custom” (=any type of content type BUT a post).
ARE there already any themes having them implemented, and if so, can someone point me to some examples?
ARE they handled by the theme or by a plugin?
Thanks for your replies!!
Tom
Editorial Staff
Hey Tom,
Lets take a stab at your long question, one by one.
Wumblr Theme by Themify was released before WordPress 3.1 (so note, they did not have Post Formats at that time). So they called them whatever they liked, in this case post types”. Which again is a conflicting vocabulary, we recommend that it should be called Content Types because the whole idea of post types is to be NOT posts, RIGHT? Anyways so I think you are confused because of the semantics that Wumblr used. Again you mentioned later on why Wumblr has its own custom post formats rather than the supported formats. Because it was released before Post Formats were available, so they went with what they thought should be good.
You would have to specify in your theme’s CSS that if a post format “XXX” is called then add these styles. A good way to do this would be getting the themes that already support Post Formats and look how they do it. Or simply open your browser’s Source and you will see the default class that is added. Most frameworks will be compatible with Post Formats in their coming versions however not all child themes will be compatible. It is very likely that some theme developers may go back and add post formats to their old themes. But we can’t say for sure which ones will do that and which ones won’t. There are a lot of new themes that are already hitting the market. Woo Themes has some, Themify has some. StudioPress will be releasing their own very soon as well. So it is really up to you if you want to wait or not.
Your category name does not have to match post formats. Post Formats, and categories are two separate taxonomies. You are free to name your category whatever you like.
Custom Post (Content) Types and Custom Post Formats are two separate beasts. One is a custom taxonomy while other is a custom content type. They serve two separate purposes. Taxonomies are to make organizing and display of content types easier. Custom Post Formats are taxonomies and Post is a content type.
Both Custom Post Types and Post Formats are handled by themes. However for Custom Post Types there are plugins that make your life easier. You can refer to our article about custom post types on this site that will show you the plugins.
管理者
Tony
I’ve been creating posts using custom post types when it should’be been a post format.
ms-studio
My big question is: can we customize the write/edit page for those post types?
If yes, that would be a compelling reason to start using them immediately. Any pointers as how to do that would be appreciated, as http://codex.wordpress.org/Function_Reference/add_meta_box doesn’t give any clues.
If not, Custom Post Types will be much more useful.
Editorial Staff
That page in the codex explains it all. It shows that they are adding this meta box to the custom content type “post” and “pages”… They are adding the input fields, and they are saving it. Use that information, and build on top of it.
管理者
Connor Crosby
If you download the WP 3.1 beta, the Twenty Ten theme supports aside and gallery.
Phaethon
Awesome. We’ll be able to add more style hooks to the loop outside of the official WP 3.1 post types too, right?
Connor Crosby
Do you know possibly when 3.1 might be available for the public? I was actually just looking how to create a link style like digwp.
Editorial Staff
WordPress 3.1 is set to be launched right before the holidays so around Mid December would be a fair date.
管理者
Dre Armeda
You can download 3.1 Alpha via the official SVN already.
Barbara Ling
Beyond awesome, this will be quite the killer feature indeed! Sharing this with my network this instant, thanks!
Pippin
This is awesome. Nothing that really enhances things from a developer’s perspective, but this will be great for end users.
Bjorn van der Neut
So if I understand correctly its a little bit the same as copy the page.php to gallery.php modify it and in the page select as template “Gallery”.
Only now its going to be not on page level but on post level?
Editorial Staff
Yes essentially it is a method of built-in cross-compatible post templates.
管理者
Bjorn van der Neut
Ok thanks! I use the plugin Impact (Payed version) for this functionality right now. I am also bussy with Genesis but I did not find that option at this moment.
Editorial Staff
This option will come available in WordPress 3.1. It is not available yet.