WordPress 添加文章形式

简单地说,如果一位博客作者正在使用一个支持“文章形式”的主题,那么作者就可以从一个单选列表中选择文章的形式,以此决定文章的显示样式。

官方介绍:

在 3.1 版本中引入的文章形式,是文章的一种属性,可以被主题用来决定文章的显示方式。其设计目的是要提供一个特殊的方法来根据文章的特点选用显示“格式”。该方法用于替代以前需要使用分类来达到同样目的的做法,而且更重要的是,该方法在支持的主题间是通用的。

官方文档:

https://codex.wordpress.org/zh-cn:%E6%96%87%E7%AB%A0%E5%BD%A2%E5%BC%8F

简单地说,如果一位博客作者正在使用一个支持“文章形式”的主题,那么作者就可以从一个单选列表中选择文章的形式,以此决定文章的显示样式。

以前是通过不同的文章分类,来使用不同的页面模板,现在有了“文章形式”

有了文章形式,就为主题设定文章格式提供了一种的新方法(例如,add_theme_support(‘post-formats’, array(‘aside’))),然后就可以在保存文章的时候在发布信息框里选择对应的文章格式。通过调用功能函数get_post_format( $post->ID )就能确定文章所属格式,而post_class()将会创建“format-asides”类,以用于纯 CSS 样式编辑。


使用方法:

在主题的 functions.php 中添加下列代码,以添加形式;

add_theme_support( 'post-formats'array'aside''chat','gallery','image','link''quote''status''video''audio' ) );

在你的文章循环的位置,添加下列判断

<?php if( has_post_format( 'status' )) { //状态 ?>
状态样式
<?php } else if ( has_post_format( 'aside' )) { //日志 ?>
日志样式
<?php } else if ( has_post_format( 'gallery' )) { //相册 ?>
相册样式
<?php } else if ( has_post_format( 'video' )) { //视频 ?>
视频样式
<?php } else if ( has_post_format( 'audio' )) { //音乐 ?>
音乐样式
<?php } else{ //标准 ?>
常规样式
<?php } ?>

在你启用文章的形式后,会在这里进行一个文章形式的判断,你可以通过

<?php get_template_part( 'template-parts/content-main', get_post_type() );?>

来调用对应的模板文件,

需要更加详细的使用例子,可以参考我开发的这款主题

Xitou主题 – 适合文字的WordPress 主题[出售]

9
剩余:10热度:47

支持的形式

目前支持以下文章格式:

  • 日志(aside) – 典型样式就是没有标题。类似于 Facebook 或人人网中更新的一条日志。
  • 相册(gallery) – 图像陈列厅。文章中通常会有“gallery”代码和相应的图像附件。
  • 链接(link) – 链接到其它网站的链接。主题可能会使用文章中的第一个 <a href=””> 标签作为文章的外部链接。有可能有的文章至包含一个 URL,那么这个 URL 将会被使用;同时,文章标题(post_title)将会是附加到它的锚的名称。
  • 图像(image) – 单张图像。文章中的首个 <img /> 标记将会被认为是该图片。另外,如果文章只包含一个 URL 链接,则被认为是该图片的 URL 地址,而文章标题(post_title)将会作为图片的标题属性。
  • 引语(quote) – 引用他人的一段话。通常使用 blockquote 来包裹引用内容。或者,可能直接将引语写入文章,并将其出处写在标题栏。
  • 状态(status) – 简短更新,通常最多 140 个字符。类似于微博 Twitter 状态消息。
  • 视频(video) – 单一视频。文章中第一个 <video /> 或 object 或 embed 将被作为视频处理。或者,文章可以仅包含视频的 URL,甚至一些主题和插件可以支持自动嵌入您的文章附件中的视频。
  • 音频(audio) – 一个音频文件。可以用于播客(podcasting)等。
  • 聊天(chat) – 聊天记录,类似于:
张三: foo
李四: bar
张三: foo 2

注意:当编辑文章时,若没有指定文章样式,则默认使用“标准”。同样,若指定了一个无效的文章形式,那么也将默认使用标准样式。

参考函数

主题和插件可以使用函数 set_post_format() 来设置形式,使用 get_post_format() 来查询形式,使用 has_post_format() 来检查是否已经设置了某个形式。

添加主题支持

主题必须使用 add_theme_support() 函数,通过传递一个数组来告诉 WordPress 使用何种文章形式,例如:

add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );

然后在主题中使用 get_post_format() 函数以检查文章格式,并据此来修改格式。要注意的是使用默认格式的文章时,该函数返回值为FALSE。或者使用 条件判断标签函数 has_post_format()

if ( has_post_format( 'video' )) {
  echo 'this is the video format';
}

理解

怎么说呢,这个功能就是定义某一篇文章在列表中展现的形式,样式可以自己随便的DIY,以后发表文章时,可以选择发表的形式,可以只写一句话像微博一样,可以单独分享一个图片、视频或者音乐,而且因为展现形式区别于其他文章的形式,往往关注量也会高些。

注意:当编辑文章时,若没有指定文章样式,则默认使用“标准”。同样,若指定了一个无效的文章形式,那么也将默认使用标准样式。

参考链接:

https://biji.io/2013/1959.html

因主题原因,在示例代码中,有部分
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论