查询循环:WordPress 5.8最强大功能之一的来龙去脉

WordPress 5.8将于7月20日发布,距现在仅 10 天。该版本旨在成为社区一段时间以来功能最丰富的更新。基于区块的小工具、模式目录WebP图像支持、模板编辑模式和更多工具几乎准备好向大众发布。

然而,最强大的功能之一是查询循环区块。

如果您不熟悉术语“查询”和“循环”,它们是WordPress中的重要概念。传统上,它们仅用于主题和插件开发。但是,通过Query Loop区块,用户将接触到WordPress如何在网站前端显示文章的主干。

查询?循环?

并不是每个人都会立即熟悉WordPress在用户界面中出现的这些开发人员条款。对于主题和插件作者来说,这些都是日常概念。然而,即使是一些使用该平台十年的用户也从未接触过他们。所以,我们应该得到一些基本的定义。

“查询”一词比您想象的要简单。它仅仅意味着根据一组定义的选项从数据库“查询”或“询问”文章。例如,您可能会尝试获取最后10篇博客文章。

“循环”是一个更容易掌握的概念。它的意思是“loop”或“cycle”通过每个查询的文章并输出它。从技术上讲,在此过程中,开发人员可以做除显示文章外的其他事情,但我们只关心屏幕上输出的内容。

两者结合成为查询循环区块。它允许用户请求一组文章并显示每个文章。

还有一个Post Template区块,它在所有这一切中抛出了一个折痕。除了“模板”这个词在WordPress中被过度用于各种功能之外,这是一个旧概念的新方法。传统上,WordPress主题作者会写出所有HTML并在查询的文章循环中调用特定的模板标签,以显示文章标题、作者、内容等内容。这在PHP文件中很容易做到。然而,在区块编辑器中,需要有一种新的方式将这些东西组合在一起。Post Template区块充当该组,容纳用户希望在查询循环中显示的内容。

WordPress在Query Loop区块上还有一个变体,称为Posts List。他们做同样的事情,但后者的标题比前者更易于使用。这种变化的唯一问题是,当它被插入时,用户仍然看到相同的“查询循环”区块标题。有人提出可以解决这个问题方案,但它不太可能进入WordPress 5.8。

查询循环模式插入器

首次在编辑器中插入查询循环时,WordPress会向用户介绍另一个5.8版功能:模式插入器。用户无需立即访问与区块交互,而是可以从预定义模式列表中进行选择。

默认情况下,插入器是一个轮播,让用户可以单独滚动模式:

query-loop-inserter-carousel

查询循环模式插入器:轮播视图

但是,他们可以切换到基于网格的布局并立即查看所有模式:

query-loop-inserter-grid

查询循环模式插入器:网格视图

默认情况下,WordPress 5.8设置为附带六个查询循环模式,除非在未来几天内添加更多模式:

  • 标准
  • 左图
  • 小图和标题
  • 网格
  • 大标题
  • Offset

除了“大标题”之外,我并不特别喜欢任何默认模式(在上面的屏幕截图中显示为黑色背景和白色文本)。为了让这个区块大放异彩,用户需要构建自己的设计或等待主题作者开始捆绑自定义查询循环模式。

而且,这就是它应该的样子。核心WordPress应该提供一些基础知识,同时让我们的主题设计师社区展示他们的工艺。

query-loop-inserter-custom

一个自定义的简单博客文章列表

这也是主题作者为其自定义页面模板设计提供替代方案的机会。现在不是把它们完全扔掉的时候。但是,这是一种在区块时代开始重新创建旧想法的方式,例如构建电子商务插件集成、作品集网格等等。一些工具仍然有限(我们将进入下一个),但有足够的初步探索基础,帮助用户以新的方式体验 WordPress。

区块选项

查询循环区块有几个选项供用户自定义要查询数据库的文章:

query-loop-options

查询循环区块及其选项

在区块工具栏中,有一个“显示设置”按钮。单击时,它会创建一个弹出窗口,其中包含要显示多少文章的选项:

  • 每页项目数:每页显示的文章数
  • 偏移量:要跳过的文章数
  • 要显示的最大页面:限制页面(这需要使用查询分页区块之一)

查询循环区块侧栏中的“设置”面板有几个辅助选项。用户可以启用“从模板继承查询”来使用WordPress的全局查询,但这对于没有启用Gutenberg插件和基于区块的主题的WordPress 5.8用户来说几乎没有用。现在,您几乎总是想禁用此选项。这将授予访问大量新选择的权限,例如:

  • 文章类型
  • 订购
  • 类别、标签、作者和关键字的过滤器面板

Settings和Filters面板是Query Loop区块中最微调的部分。开发团队在易用性和通过代码提供的数十个与查询相关的参数之间取得了合理的平衡。它为用户提供了大量的权限,但在未来应该足够灵活,以便插件作者进行扩展。

文章模板

插入查询循环时,编辑器会自动添加其内部Post Template块。这是大部分魔法发生的地方。用户可以直接更改其文章的显示方式。首先,他们将通过添加来自Theme类别的区块来实现,其中许多区块用于输出与后期相关的数据。

post-blocks

用于输出动态数据的主题分类区块

几乎所有其他区块也可以在这里插入。但是,它们中的许多都不是在查询循环中使用的理想选择。

可能不会立即显现的一件事是,您对“文章模板”区块中的一篇文章所做的更改会影响所有其他文章。因此,如果您在此处添加视频或按钮区块,它们将是相同的。请记住,这是一个“模板”,用于设计查询循环中所有文章的显示方式。

自定义Post Template模块输出的缺点是缺少某些模块的设计选项。构建一个简单的文章列表之类的东西很容易:

query-loop-list

带有标题和日期的文章列表

您还可以构建像作品集项目网格这样的布局,如下面的屏幕截图所示。但是,Post Featured Image区块当前没有大小控制,因此您只能使用主题的默认缩略图后大小 – 假设它实际上已注册。体验可能会有所不同。

query-loop-portfolio-grid

建立一个基本的作品集网格

对于比更改排版、颜色和间距更高级的事情,用户需要等待WordPress 5.9及更高版本。但是,主题作者仍然可以使用区块样式API。一方面,我期待看到他们用它做什么。

评论留言

回复 Daisy 取消回复

唇枪舌剑(2)

  • Daisy的头像

    Daisy

    2021.12.8 12:12

    你好,想请教一下。在使用这个区块的时候,第三个选项设置:要显示的最大页面数,不管是设为0还是设为大于1,都没有显示翻页选项。例如文章查询出来有10篇,每页显示5篇,第三选项设为0,它出来应该是有2页才对是吗?但是它就只显示单页5篇。你括号里的查询分页区块之一是什么意思呢?是要配合其他区块使用还是?
    不懂代码,只能使用区块和插件。希望能得到解答。谢谢!

    回复
    • WBOLT_COM

      2021.12.8 14:12

      @Daisy 建议你联系主题开发者。