Post Format(文章格式)是wordpress 3.1引入的一個新的特徵。主題可以根據post format的不同以不同的方式來展示文章。wordpress提供了一些標準的post format,作為wordpress主題的開發者不必去支持每一種post format,當然也可不支持任何一種。post format的類型不能通過主題或者插件進行添加。
簡單的說,如果一個wordpress主題支持post format,當文章發布時可以選擇post format類型來以不同的方式來展示這個篇文章。
以前可能通過文章的不同分類、或者根據post_class()來定製文章的展示形式。使用post format可以更加專註地使用CSS來進行美化文章展示。
這個功能讓主題支持 Post Formats 功能,這個功能是 3.1 版本引進的,當使用子主題(Child Themes)的時候,注意 add_theme_support( 『post-formats』 ) 會覆蓋父主題(Parent Themes)定義的 Formats,而不是額外增加。
讓主題支持特定的 Post Formats,使用:
add_theme_support(『post-formats』,array(『aside』,』gallery』));
檢查一個主題是否給 post 指定了 『quote』 這類 post format:
if( has_post_format(『quote』)){echo』This is a quote.』;}
————————————————
添加主題支持
如果想讓主題支持post format,只需將add_theme_support()函數添加在functions.php
中即可,如(來自2021主題):
/**
* Add post-formats support.
*/
add_theme_support(
'post-formats',
array(
'link',
'aside',
'gallery',
'image',
'quote',
'status',
'video',
'audio',
'chat',
)
);
添加「頁面」或「自定義post」支持
上面代碼默認只是添加了post類文章可選post format。如果想讓頁面(Page)或者自定義post類型支持post format,需要使用add_post_type_support()函數,同樣將其放在functions.php
中。如:
// add post-formats to post_type 'page'
add_post_type_support( 'page', 'post-formats' );
// add post-formats to post_type 'my_custom_post_type'
add_post_type_support( 'my_custom_post_type', 'post-formats' );
添加文章,選擇文章格式
文章格式默認為standard類型
主題中如何使用post format
在主題中使用get_post_format()來檢測文章類型。如果文章類型為standard類型,則返回false
。也可以使用has_post_format()來測試。
if( has_post_format( 'video')) {
echo 'this is the video format';
}
通過在文章的wrapper結構中調用post_class()函數,將添加額外的樣式類,然後通過樣式表進行布局或美化。如:
.format-video .post-title {
display: none;
}
參考: