怎么添加文章形式? - WordPress开发

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

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

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

以前是通过不同的文章分类,来使用不同的页面模板,现在有了“文章形式”,在发表文章时,可以选择文章发表的文章形式,用于区分其他文章的形式,从而提高文章关注度。

怎么添加文章形式? - WordPress开发-Npcink
怎么添加文章形式? - WordPress开发-Npcink
不同的文章样式有不同的展示效果

有了文章形式,就为主题设定文章格式提供了一种的新方法(例如,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() );?>

来调用对应的模板文件,模板文件的调用顺序可参考

怎么添加文章形式? - WordPress开发-Npcink
怎么添加文章形式? - WordPress开发-Npcink

官方模板层次结构与加载顺序 - WordPress开发

Wordpress主题的加载顺序,方便大家开发

例子

上面讲解了什么是文章形式、如何添加文章形和如何判断文章形式,下面就来了解下如何实现不同文章形式使用不同模板

在判断内添加文章循环的方法:

<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>

第一:举例,我们先添加视频音频文章形式,首先在functions.php添加下面代码

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

第二:在index.php(或者需要用到文章形式的文件)中找到文章循环代码:

<?php while ( have_posts() ) : the_post(); ?>
内容
<?php endwhile; ?>

替换成下面代码

<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>

第三:在主题目录创建

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

如果添加了别的文章形式 就要创建 content-xxx(形式名称).php

怎么添加文章形式? - WordPress开发-Npcink
怎么添加文章形式? - WordPress开发-Npcink

Lifet - 单栏wordpress博客主题

一款简单的单栏博客wordpress主题

支持的形式

目前支持以下文章格式:

  • 日志(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,以后发表文章时,可以选择发表的形式,可以只写一句话像微博一样,可以单独分享一个图片、视频或者音乐,而且因为展现形式区别于其他文章的形式,往往关注量也会高些。

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

WP开发

WordPress 新文章添加标志

2019-5-25 0:01:55

WP开发

怎么给网站添加顶部通知栏? - wordpress开发

2019-5-29 8:20:39

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 link@baimu.org 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索