这一篇文章格式是ㄚ琪在WordPress的Post Formats的繁体中文翻译,文章格式好像是3.1版以后的功能,ㄚ琪没碰过,所以在翻译上有点拙拙的感觉,今天备份在工作达人上,还请有任何建议可以不吝回应,谢谢!
文章格式是在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”的文章标题的显示,如何显示完全取决于布景,但是这里有一些一般性的准则。
- aside – 典型样式就是没有标题。类似于Facebook中更新的一条消息。
- gallery – 图库,文章可能会有图库简码以及图片附件。
- link – 一个到另一个网站的连结,布景可能会使用文章内容中的第一个<a href=””>标记作为那篇文章的外部连结,另一个方法可能就是假如文章只有一个URL,那么URL跟标题(post_title)会是附加到锚点的名称。
- image – 单张图片,文章中的第一个 <img /> 标记将会被认为是该图片。另外,如果文章只包含一个 URL 连结,则被认为是该图片的 URL 地址,而文章标题(post_title)将会作为图片的标题属性。
- quote – 一个引用,可能会有blockquote标记含括引用的内容,同样地,引用可能只是有来源/作者作为标题的内容。
- status – 一个简短的状态更新,类似Twitter状态更新。
- video – 一个影片,文章内容中第一个<video />标记或object/embed会被认为是影片,同样地,如果文章只有一个URL,会被认为是影片的URL,假如部落格的影片支援有启用也有可能包含的影片是文章的附件(如通过外挂)。
- audio – 一个音讯档案,可用于播客。
- chat – 聊天记录,类似于:
张三: 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 Types and Formats and Taxonomies, oh my! by Otto
- On standardized Post Formats by Andrew Nacin
- Post Formats vs. Post Types by Mark Jaquith
- WordPress 3.1 Post Formats Reference by Lisa Sabin-Wilson
- Smarter Post Formats? by Dougal Campbell
相关
Post Formats: set_post_format(), get_post_format(), has_post_format()