文章格式

帖子格式由主题使用,用于以特定格式和样式呈现帖子。“发布格式”功能提供了一个标准化的格式列表,可用于支持该功能的所有主题。主题可能不支持列表中的所有格式;在这种情况下,最好让用户知道这一点。

即使通过插件,主题也不能引入标准化列表中没有的格式。这种标准化确保了主题之间的兼容性以及外部工具以一致的方式使用功能的方式。

简而言之,通过支持帖子格式的主题,博客可以通过选择帖子格式来更改帖子的外观。

使用旁白例如,在过去,创建了一个名为Asides的类别,并将帖子分配给该类别,然后根据样式规则以不同的方式显示课后()或来自类别内(“侧面”).

使用文章格式新方法允许主题添加对Post格式的支持(例如。add_theme_support('post-formats',数组('aside'))),然后可以在保存帖子时在“发布”元框中选择帖子格式。的函数调用get_post_format($post->ID)可用于确定格式,以及课后()还将创建“format-asides”类,用于pure-css样式。

支持的格式

如果主题支持,则可以使用以下发布格式。

请注意,虽然实际的帖子内容不会改变,但主题可以根据所选的格式以不同的方式显示帖子。帖子的显示方式完全取决于主题,但这里有一些关于不同帖子格式的典型用法的一般准则。

  • 在一边–通常不带标题。类似于Facebook笔记更新。
  • 画廊–图片库。帖子可能会包含一个图库短代码,并带有图像附件。
  • 链接–指向其他站点的链接。主题可能希望使用帖子内容中的第一个<a href=“”>标记作为该帖子的外部链接。另一种方法是,如果帖子只包含一个URL,那么这将是URL,而标题(post_title)将是附加到其锚的名称。
  • 形象–单个图像。帖子中的第一个<img/>标签可以被视为图像。或者,如果帖子只包含一个URL,那将是图像URL,帖子的标题(post_title)将是图像的标题属性。
  • 引用–报价单。可能会包含包含报价内容的blockquote。或者,引用可能只是内容,源/作者是标题。
  • 地位–简短的状态更新,类似于推特状态更新。
  • 视频–单个视频。帖子内容中的第一个<video/>标记或object/嵌入可以被视为视频。或者,如果帖子只包含一个URL,那就是视频URL。如果博客上启用了视频支持(比如通过插件),也可以将视频作为帖子的附件。
  • 音频–音频文件。可用于播客。
  • 聊天–聊天记录,如下所示:
约翰:foo玛丽:酒吧约翰:foo 2
撰写或编辑帖子时,“标准”表示未指定帖子格式。此外,如果指定的格式无效,则默认情况下应用“标准”(无格式)。

函数参考

主要功能

其他功能

添加主题支持

需要使用的主题添加主题支持()在中函数.php通过传递如下格式数组来告诉WordPress要支持哪些发布格式:

<?php(电话)函数themename_post_formats_setup(){add_theme_support('post-formats',array('aside','gallery'));}add_action('after_setup_theme','themename_post_formats_setup');

这个设置主题之后使用hook,以便在加载主题后注册post格式支持。

添加岗位类型支持

帖子类型需要使用添加post_type_support()在中函数.php文件告诉WordPress支持哪些帖子格式:

<?php(电话)函数themename_custom_post_formats_setup(){//将post格式添加到post_type“page”add_post_type_support('页面','后期格式');//将后期格式添加到post_type“my_custom_post_type”add_post_type_support('我的自定义post_type','后期格式');}add_action('init','themename_custom_post_formats_setup');

或者在函数中寄存器post_type(),在“supports”参数数组中添加“postformats”:

<?php(电话)$args=阵列(“supports”=>数组(“title”、“editor”、“author”、“postformats”),);register_post_type('book',$args);

添加主机类型支持应该钩住初始化钩子,因为自定义帖子类型可能尚未在设置主题之后.

使用格式

在主题中,使用获取成本格式()检查文章的格式,并相应地更改其呈现方式。注意,使用默认格式的帖子将返回FALSE值。或者,使用has_post_format() 条件标记:

<?php(电话)if(has_post_format(“视频”)){echo'这是视频格式。';}

建议的样式

另一种格式方法是通过样式规则。主题应使用课后()函数来添加动态样式类。Post格式将使用“format-foo”名称以这种方式添加额外的类。

例如,可以通过在主题的样式表中添加以下内容来隐藏状态格式的帖子标题:

.格式-状态.职务{显示:无;}

根据现代用法的规定,每种格式都有特定类型的“风格”。在应用样式时,最好记住每种格式的预期用途。

例如,旁白、链接和状态格式是简单、简短和次要的。这些内容通常不会显示标题或作者信息。aside可能包含一个或两个段落,而链接只能是一个句子,其中包含指向URL的链接。链接和aside都可能有指向单个帖子页面的链接(使用permalink())因此允许评论,但状态格式很可能没有这样的链接。

另一方面,一个图片帖子通常只包含一个图片,附带或不附带字幕/文本。音频/视频帖子将相同,但添加了音频/视频。这三个帖子中的任何一个都可以使用插件或标准嵌入以显示其内容。标题和作者可能也不会为他们显示,因为内容可能是自我解释的。

报价格式特别适合发布来自没有额外信息的人的简单报价。如果你要将引用内容单独放入帖子内容中,并将引用的人的姓名放入帖子标题中,那么你可以设置帖子的样式以便显示内容()但重新设置为blockquote格式,并使用标题(_T)将引用的人的姓名显示为署名。

在许多情况下,特别是聊天可能倾向于使用单间距类型的显示。通过对.format聊天进行一些样式设置,您可以使其使用单格字体显示帖子的内容,可能在灰色背景div或类似内容中,从而在视觉上将其区分为聊天会话。

子主题中的格式

子主题继承父主题定义的帖子格式。呼叫添加主题支持()对于子主题中的帖子格式,必须以晚于父主题的优先级完成,并且覆盖现有列表,而不是添加到其中。

<?php(电话)add_action('after_setup_theme','childtheme_formats',11);函数childtheme_formats(){add_theme_support('post-formats',array('aside','gallery','link'));}

呼叫remove_theme_support(“post-formats”)将全部删除。