什么是动态数据(Dynamic Data)
动态数据是相对于「静态数据」而言的。平时我们从媒体库选图、手动输文字,做出来的内容是固定的,叫静态数据;动态数据则让网页发布后内容随条件变化——做模板时尤其常用。
比如做博客详情页模板,目的是给所有文章套同一种样式,但标题、发布时间、摘要各不相同。默认用 Post Title、Meta Data、Post Content 这些小部件;而用动态数据,只用一个 Rich Text 小部件就能实现这三者全部效果。
brickswiki 视角:可以把 Post Title、Post Content 等小部件理解为某个 dynamic data 字段的「实体化载体」,Bricks 只是额外给它们加了参数。理解到这一层,排版就自由了。
动态数据字段怎么用
{ } 代表动态数据,花括号里填字段名。也可以点 ⚡ 闪电符号进选择界面挑字段。
从数据库角度类比:Post、作者、Site 相当于一张表,post_title、post_excerpt、featured_image 是表里的字段;指定网页某位置显示某字段,当命中查询条件时,该位置就显示这个字段的值。
post_title→ 文章标题post_excerpt→ 文章摘要featured_image→ 特色图post_id→ 文章在 WP 系统中的 IDpost_link→ 文章网址
注意:动态数据里的 post 不是狭义的 blog,而是「页面类型里的具体内容页」——WooCommerce 的 product、自定义页面内容页都算。所以产品详情页用 post_title 字段代替 Product title 小部件也完全可行。
Query Loop:遍历查询逻辑
Query Loop(遍历查询)即「查询所有符合条件的内容并输出」。支持的小部件有:所有容器(section/container/block/div)、手风琴、滑块、Tabs。
它的设置相当于为要显示的内容指定「数据表 + 排序字段」,具体内容字段用动态数据指定,再输出所有命中值。把上面的设置翻译成类 SQL 逻辑大概是这样:
select { 小部件中 Dynamic Data 选择的字段 }
from { 我们指定的数据表:Posts }
where post_type = Products-MB
order by Title asc
offset 0;
只要理解了「查哪张表、按什么排、输出哪些字段」这条主线,Query Loop 就很好上手。
条件显示:基于 PHP 的真隐藏
条件显示是 Bricks 1.5.4 起给每个小部件加的重大功能。加了条件后,只有符合条件才显示;它基于 PHP,不符合时连 HTML 都不输出,和 CSS 隐藏(代码仍加载)完全不同——对性能和 SEO 更友好。
brickswiki 视角:最实用的是 OTHER 分类下的条件,能对「不同来源人群」展示不同营销内容。期待未来加「基于地理位置」的条件,做多国站会更爽。
AND / OR 条件组合
条件可以是单个、成组、多组,逻辑用 AND 和 OR:
- AND:所有条件同时成立才显示(点红色 + 号添加)。
- OR:任意一项成立即显示(点蓝色 + 号添加)。
符号含义:== 等于,!= 不等于,其余比较符号同理。
小结
Bricks 做动态站靠三件套:Dynamic Data 提供「同一版式不同内容」的能力,Query Loop 负责「按条件查出并遍历输出」,条件显示负责「按规则真隐藏」。三者组合,基础动态站就能搭起来。
内容说明(整理稿):本文选题与步骤框架参考自竞对站 trybricks.com / qinbanliang 站的公开教程(源多为截图驱动教程,正文极薄),内容为 BricksWiki 基于 Bricks 官方公开文档与通用实操经验重写整理,非原文逐字翻译,也不构成官方文档。操作入口/路径以你当前 Bricks 版本为准,实操前建议对照官方文档核对。
延伸阅读
Bricks 动态数据详解
教程:动态数据让元素显示随内容变化的值而非写死文本。系统讲它的机制、来源与 Query Loop 里的典型用法。
tutorialBricks 让元素输出 N 次(N = 自定义字段值):Array 查询类型实战
教程:Bricks 让元素输出 N 次(N = 自定义字段值):Array 查询类型实战——query loop 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
tutorialBricks Query Loop 从 API 拉数据——REST/外部 JSON 接口展示教程
教程:Bricks 2.1+ 的 Query Loop 支持 API 查询类型,直接抓外部 JSON 渲染成列表。请求配置、鉴权、响应路径、query_api 动态标签、分页与缓存,含 WordPress REST API 和 DummyJSON 两个实战例子。
tutorialBricks Query Loop 高亮当前文章:给循环项加 data-current 属性
教程:Bricks Query Loop 高亮当前文章:给循环项加 data-current 属性——query loop 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
