Languages: English • Formats 日本語 Português do Brasil • Русский • 中文(繁體) • 中文(简体) • (Add your language)
文章格式是在Version 3.1中引進的一種佈景主題功能,文章格式是一種可以被佈景用來訂製文章展示的中介資料,文章格式功能提供了一個標準化的格式列表,可用於所有支援此功能的佈景主題。佈景主題不需要支援列表的所有格式,新的格式不能由佈景主題來推出,甚至是外掛也不行,此列表的標準化以一致的方式提供眾多的佈景主題跟外部的部落格工具存取此功能的途徑之間的相容性。
總之,有了支援文章格式的佈景主題,部落客可以從一個單選按鈕列表透過選擇文章格式來改變每一篇文章的樣子。
以 Asides 為例,以前一個稱作 Asides 的分類被新增,指定為該分類的文章在顯示的時候基於post_class() 或者 in_category('asides')所設定的樣式規則而與別的文章不同,有了文章格式,這個新的方法允許佈景主題設定文章格式(例如,add_theme_support('post-formats', array('aside'))),然後就可以在儲存文章的時候在發表中介資訊框裡選擇文章格式,通過呼叫函式get_post_format( $post->ID )就能確定文章所屬格式,而post_class()將會新增"format-asides"類別,以用於純CSS樣式編輯。
目前支援以下文章格式,如果佈景主題有支援的話。
請注意實際的文章內容紀錄不會改變,佈景可以使用這個使用者所選擇的格式來顯示不同的文章,例如,佈景可以停止"Status"的文章標題的顯示,如何顯示完全取決於佈景,但是這裡有一些一般性的準則。
張三: foo 李四: bar 張三: foo 2
注意:在撰寫或編輯一篇文章時,Standard用於設計沒有指定文章格式的文章,另外,如果指定的格式無效,則標準(無格式)將被使用。
|
|
佈景需要在functions.php檔中使用add_theme_support()透過傳遞一個像下列的格式陣列來告訴WordPress支援什麼文章格式:
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
注意你必須在init被呼叫前呼叫這個!一個好的hook(掛鉤)使用就是after_setup_theme hook(掛鉤)。
在佈景主題裡,使用get_post_format()來檢查文章的格式,並從而改變它的展示,注意預設格式的文章會傳回FALSE值,或利用has_post_format() conditional tag:
if ( has_post_format( 'video' )) { echo 'this is the video format'; }
另一個使用格式的方法就是透過樣式規則,佈景主題應該在包圍文章的外覆程式碼中使用這個post_class()函式來增加動態的樣式類別,文章格式會用這種"format-foo"名稱的方式來產生額外的類別來增加。
例如,我們可以用這種方式隱藏狀態格式文章的文章標題:
.format-status .post-title { display:none; }
雖然您可以設計自己的風格和格式,顯示您認為合適的任何方式,每個格式適合於某種類型的“風格”,因為出於現代用法,將每種格式的使用目的牢記在心中是好的,因為這將給予他們很容易被讀者直觀地確認為特定類型的東西。
例如,aside、link跟status格式通常沒有標題或作者資訊的顯示,這些格式簡短且次要,aside可能有一段或兩段,而link可能只有一句有連到一些URL的連結來裡面,link跟aside這兩者可以有一個連到單篇文章頁面的連結(使用the_permalink()),並因此允許評論,但是status格式很可能不會有這樣的一個連結。
另一方面一個圖片的文章通常只有一個圖片,隨著圖片有或沒有說明文字,一個音訊/影片文章是一樣的但是在文章內會有音訊/影片,這三種格式不是使用外掛就是使用standard Embeds來顯示內容,標題及作者可能都不會顯示,因為內容可能是不言自明。
quote格式特別適合於張貼一篇沒有額外資訊的人的簡單引用,假如你把引用放進文章內容,並且把引用人的名稱放進文章的標題,然後你可以設計文章的樣式這樣可以用the_content()、重新設計成一個引用文字的格式來顯示,以及使用the_title()來顯示引用人的名稱作為署名。
特別地chat在很多情況下可能會造成等寬型態的顯示,對於某些.format-chat樣式,你可以使用等寬字型來使它顯示文章內容,也許在一個灰色背景的div或類似的地方,從而直觀地識別它是一個聊天會話。
Child Themes繼承父佈景主題定義的文章格式,在子佈景主題呼叫add_theme_support()文章格式將覆寫現有的列表,卻不會新增進來,呼叫remove_theme_support('post-formats')會一起刪除。
假如你的外掛或佈景主題需要跟舊版的WordPress相容,你需要建立post-format-$format這個項目為 "post_format"分類,例如,
wp_insert_term('post-format-aside', 'post_format');
你也必須使用register_taxonomy()註冊post_format分類。
Post Formats: set_post_format(), get_post_format(), has_post_format(), get_post_format_link(), get_post_format_string(), the_post_format_audio(), get_the_post_format_media(), get_content_audio(), the_post_format_chat(), get_the_post_format_chat(), get_content_chat(), add_chat_detection_format(), the_post_format_gallery(), get_content_galleries(), get_post_gallery_images(), the_post_format_image(), get_the_post_format_image(), get_content_images(), the_post_format_quote(), get_the_post_format_quote(), get_content_quote(), the_post_format_url(), get_the_post_format_url(), get_content_url(), the_post_format_video(), get_content_video(), the_remaining_content(), get_the_remaining_content(), get_post_format_meta(), post_format_content_class(), get_post_format_content_class(), post_formats_compat()
本文檔由ㄚ琪(Stephen Liu)翻譯
譯者部落格:工作達人
E-Mail:2notebook@yahoo.com.tw