在博友处看到这样的首页文章输出形式,就萌发了陌小雨折腾文章形式的冲动,首先我们来认识一下WordPress的文章形式。

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

wordpress目前支持的文章形式:

  1. 日志(aside) - 典型样式就是没有标题。类似于 Facebook 或人人网中更新的一条日志。
  2. 相册(gallery) - 图像陈列厅。文章中通常会有“gallery”代码和相应的图像附件。
  3. 链接(link) - 链接到其它网站的链接。主题可能会使用文章中的第一个标签作为文章的外部链接。有可能有的文章至包含一个 URL,那么这个 URL 将会被使用;同时,文章标题(post_title)将会是附加到它的锚的名称。
  4. 图像(image) - 单张图像。文章中的首个 标记将会被认为是该图片。另外,如果文章只包含一个 URL 链接,则被认为是该图片的 URL 地址,而文章标题(post_title)将会作为图片的标题属性。
  5. 引语(quote) - 引用他人的一段话。通常使用 blockquote 来包裹引用内容。或者,可能直接将引语写入文章,并将其出处写在标题栏。
  6. 状态(status) - 简短更新,通常最多 140 个字符。类似于微博 Twitter 状态消息。
  7. 视频(video) - 单一视频。

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

1
2
//文章格式
add_theme_support( 'post-formats', array( 'status', 'aside', 'gallery', 'video', 'audio' ) );

标注颜色的依次的顺序是:状态、日志、相册、视频、音频,你可以上面的支持格式添加或删减。把上面的代码copy到主题的functions.php(模板函数)里,怎么正确的粘贴我就不废话了。

然后修改你主题的index.php(有的主题可能是loop.php或者其他,具体参见自己的主题)把循环的部分替换成下面代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?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 } ?>

具体样式需要你自己慢慢调试了,我贴我的代码没什么意义。

陌小雨再给大家分享一个逻辑更清晰的写法:

第一:比如我添加视频 音频文章形式 先在functions.php加载

1
add_theme_support( 'post-formats', array( 'video','audio', ) );

第二:在index.php中找到

1
2
3
4
5
<?php while ( have_posts() ) : the_post(); ?> 内容君 <?php endwhile; ?>
替换成以下:
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>

第三:在主题目录创建

1
2
3
content.php(默认文章形式)
content-audio.php(音频形式)
content-video.php(视频形式)

如果添加了别的文章形式 就要创建 content-xxx(形式名称).php
喜欢折腾的朋友应该跃跃欲试了吧!