发现很多“古老”的WordPress主题使用量非常大,虽然部分也在随着WordPress版本的升级而“升级”,只不过是修复了bug而已,wordpress的新特性并没有使用。而且多数国内的wordpress主题制作者,也都是在这些主题的基础上进行创作,不免有点过时。今天枫竹梦就介绍下不算新、很好用但较少主题支持的post format的内容。

post format简介

post format(文章格式)是wordpress 3.1引入的一个新的特征。主题可以根据post format的不同以不同的方式来展示文章。wordpress提供了一些标准的post format,作为wordpress主题的开发者不必去支持每一种post format,当然也可不支持任何一种。post format的类型不能通过主题或者插件进行添加。

简单的说,如果一个wordpress主题支持post format,当文章发布时可以选择post format类型来以不同的方式来展示这个篇文章。

以前可能通过文章的不同分类、或者根据post_class()来定制文章的展示形式。使用post format可以更加专注地使用CSS来进行美化文章展示。

post format类型

下面是wordpress支持的9种post format类型,如果主题支持这些类型,发布文章时就可以选择它们。

注意:不需要改变文章的内容,只改变文章的post format就可以以不同的方式来展示文章。具体如何展示取决于正在使用的主题的支持情况。

  • aside
  • audio
  • chat
  • gallery
  • image
  • link
  • quote
  • status
  • video

如果没有指定任何的post format类型,那么会默认选择Standard类型。Standard类型不属于post format类型。

下面是主题Twenty Thirteen支持的post format的类型。

添加主题支持

如果想让主题支持post format,只需将add_theme_support()函数添加在functions.php中即可,如:

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

添加上面的代码后,发布文章时就可以选择asidegallery类型了。要添加其他类型只需将post format添加到上述数组中即可。

 

添加页面支持

上面代码默认只是添加了post类文章可选post format。如果想让页面(Page)或者自定义post类型支持post format,需要使用add_post_type_support()函数,同样将其放在functions.php中。如:

// add post-formats to post_type 'page'
add_post_type_support( 'page', 'post-formats' ); // add post-formats to post_type 'my_custom_post_type'
add_post_type_support( 'my_custom_post_type', 'post-formats' );

使用post format

在主题中使用get_post_format()来检测文章类型。如果文章类型为standard类型,则返回false。也可以使用has_post_format()来测试。

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

通过在文章的wrapper结构中调用post_class()函数,将添加额外的样式类,然后通过样式表进行布局或美化。如:

.format-video .post-title {
display: none;
}

总结

虽然可以使用个性化的样式对上面的几种类型的post format进行处理,但是为了不给使用者造成困惑,还是建议根据post format的本身含义进行样式处理。

黄聪:wordpress如何开启文章格式post format的更多相关文章

  1. 黄聪:如何开启IIS7以上的“IIS6管理兼容性”

    护卫神PHP套件的安装,需要开启“IIS6管理兼容性”, 那么,如何开启IIS7.IIS7.5.IIS8.0的IIS6兼容模式呢? 设置的时候,请参照如下截图:

  2. 黄聪:Mysql开启InnoDB引擎出现1067错误的解决办法

    在my.ini文件添加下面这行: innodb_force_recovery = 1 可以解决:InnoDB: Attempted to open a previously opened tables ...

  3. 黄聪:《跟黄聪学WordPress插件开发》

    续<跟黄聪学WordPress主题开发>之后,又一个作品完成!<跟黄聪学Wordpress插件开发>,国内最好的Wordpress插件开发视频教程!! 目录预览: WordPr ...

  4. 黄聪:《跟黄聪学WordPress主题开发》

    又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...

  5. 黄聪:wordpress教程

    又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...

  6. WordPress 博客文章时间格式the_time()设置

    国外设计的WordPress 主题里的文章的时间格式是类似“十一月 21, 2010”这种格式的,而中国人习惯的是年在前,月紧跟其后,日在末尾,所以看国外的就显得很别扭,但是我们可以通过修改WP时间代 ...

  7. WordPress实现长篇文章/日志/单页面分页功能效果

    在WordPress里写文章,如果内容很多,你可能想要把文章分成几页来让访客浏览,这样既保持了网页的美观,也提高了网页的打开速度.但是在WordPress默认提供的按钮里,你可能找不到文章分页功能所对 ...

  8. 黄聪:如何使用CodeSmith批量生成代码(转:http://www.cnblogs.com/huangcong/archive/2010/06/14/1758201.html)

    先看看CodeSmith的工作原理: 简单的说:CodeSmith首先会去数据库获取数据库的结构,如各个表的名称,表的字段,表间的关系等等,之后再根据用户自定义好的模板文件,用数据库结构中的关键字替代 ...

  9. WordPress批量修改文章内容、URL链接、文章摘要

    通过SQL语句来批量修改wordpress博客内容,文章中所有语句都使用默认的wp_表前缀,如果您的数据表前缀不是wp_则需要在语句中作相应更改. 方法/步骤   批量修改文章内容 如果您想替换之前写 ...

随机推荐

  1. 工作中遇到的问题--实现CustomerSetting的实时更新

    首先在项目运行时就初始化CustomerSettings的值,采用@Bean,默认是singtone模式,只会加载一次. @Configuration@Order(3)@EnableWebMvcSec ...

  2. 增量更新项目时的备份MyBak

    在增量更新项目时,做好备份十分重要,这里提供一个方法备份java Web所更新的文件. 把更新包放在指定目录,配好如下webappFolder.updateFolder以及bakeupFolder的路 ...

  3. PHP内存消耗

    由于变量占用的空间不一样,所以其消耗的内存大小也不一样,在PHP中我们可以通过使用“memory_get_usage”来获取当前PHP消耗的内存.但是根据操作系统.PHP版本以及PHP的运行方式可能输 ...

  4. 【NOIP2013】火柴排队

    如果没有这道题的话我连逆序对是啥都不知道QAQ 原题: 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为: ...

  5. 常见HTTP状态(304,200等)

    一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务器超时 下面提供 HTTP 状态码的完整列表.点击链接可了解详情.您也可以访问 HTTP 状态码上的 ...

  6. android屏蔽软键盘并且显示光标

    if (android.os.Build.VERSION.SDK_INT <= 10) {//4.0以下 danielinbiti editText.setInputType(InputType ...

  7. Android Studio导入Project的方法

    Android Studio到现在已经发展到0.8+的版本了,最近也在试着使用它,原因是多方面的,一个毕竟是未来的趋势,二则是github上越来越多的大牛开源项目都是基于Android Studio的 ...

  8. linux -redhat rpm 和zabbix和各种rpm包下载地址

    redhat ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/ zabbix https://sourcefo ...

  9. python三种数据库连接池方式

    psycopg2.pool – Connections pooling Creating new PostgreSQL connections can be an expensive operatio ...

  10. form表单回车提交问题,JS监听回车事件

    我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此.比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键 ...