预计阅读时间: 5 分钟

WordPress本质上是一个内容管理系统(CMS),是显示、创建、发布和维护内容的软件。

本文介绍的插件 Display Posts 主要就是用来扩展WordPress关于显示内容这部分的功能。打个比方,内容就是你的菜品,有了很多菜品之后可以组合出各种套餐的菜单。Display Posts 就是这样一个可以帮助你灵活组合套餐的插件。

插件简介

介绍Display Posts插件之前,有必要先来看一下WordPress中比较重要的一个概念:

WP_Query是定义于 wp-includes/query.php 中的一个用于处理复杂的请求wordpress博客中文章或页面的类。

WP_Query是wordpress提供的一个类,它支持的参数和方法非常丰富,通过各种给组合查询参数,几乎所有的文章查询都可以通过这个类实现。

Display Posts这个插件其实是对WP_Query 类做的一层高级封装,让用户可以不必手写复杂的WP_Query查询就可以得到想要的过滤结果。尤其是当你的WordPress网站有了很多内容,想在网站的某些地方按某些条件来自由组织已有内容的时候,会显得非常有用,可以通过各种条件来进行花式搜索,自由控制显示的形式,使用也很方便。

作者Bill Erickson是一个资深的WordPress玩家,总共开发了22款插件,总下载量超过120万次, 也拥有自己的WordPress开发公司,帮客户做了不少商业站,客户对其服务评价都不错

插件使用

安装激活之后即可使用。使用的方法主要有两种:

  • 可以通过在WordPress编辑器中插入短码的形式。
  • 也可以通过在主题文件中使用函数do_shortcode()

Display Post支持的参数特别全面。主要包括条件查询参数、显示信息参数、自定义格式参数三类:

  • Query parameters determine which posts are listed. You can query based on category, author, date, and more. 用来控制列表中显示哪些文章,条件可以基于目录、作者、日期或其他
  • Display parameters determine how the posts are listed. You can include the post title, thumbnail, excerpt, and more. 用来控制查询结果的展示信息,如标题、缩略图、摘要等等
  • Markup parameters allow you to change the underlying HTML markup, including CSS classes. 用来自定义顾虑结果的展示方式

下面举几个具体的搜索参数例子:

显示最近发表的文章

这是最基本用法,什么参数都不加的话就是默认显示最近的文章,默认结果是10个,呈现结果是一个最简单的带有链接的文章标题列表:

显示结果如下:

过滤特定的目录或标签中的文章

下面的方式可以列出所有tag为python的文章列表,如果你想显示某个目录下的文章,只需要把tag改为 category,查询条件可以是id或者名称,也可以把多个查询条件用逗号隔开,比如tag="tag1,tag2"

显示结果如下:

显示文章的附加信息

默认情况下是只显示文章标题和链接,通过一些参数还可以把关于文章的各种信息都显示出来,比如把文章的发布日期用相对时间的形式显示出来:

显示效果如下:

显示文章中的图片

如果你想把文章的特色图片实现出来,只需要在短码中增加一个参数 image_size=”thumbnail” ,如下

显示结果如下:

高级搜索和列表排序

显示结果可以按照多种条件进行排序,比如想按照标题升序排列,可以加入两个参数 order=”ASC” orderby=”title” 代码和显示结果如下:

排序的字段和方法多种多样, 可以参看这里。举几个例子:

  • orderby=”author” -按作者排序
  • orderby=”rand” – 随机排序
  • orderby=”comment_count” – 按评论数量排序

在上面的短码中我还加入了其他几个参数,这也是Display Posts这个插件最牛 B的地方之一了,可以通过一些复杂的条件和操作符进行组合查询,比如上面的这段中的:

taxonomy="post_tag" tax_term="genesis-explained" tax_operator="NOT IN"

意思就是:用使用TAG分类法,并且排除tag为genesis-explained。还可以综合使用目录和tag两种分类发和其他的操作符来进行复杂的查询,详见这里

自定义显示形式

这也属于高级用法之一了,默认是使用Html中的无序列表ul,你可以通过参数 wrapper="ol" 来改成有序列表,也可以通过增加wrapper="div" 把每一个结果都包如一个div标签中,以便更好的结合其他工具进行自定义CSS,通过这种方式可以把结果显示成表格、栅格(Grid)等等其他形式,可以玩出花来。

更多资料

通过上面的几个小例子可以看出这个插件的功能确实非常强大,基本上能满足所有对文章进行查询的需求,插件官网文档写的非常完善,上面也有很一些详细的教程。

此文章对你有帮助吗? 已有 1 人说这篇文章是有用的。