Bricks Query Loop 按日期字段条件输出元素(Pro 思路卡)
本篇为选题卡 / 思路骨架。完整可运行代码在 BricksLabs Pro 会员区,本文只整理公开思路与涉及的钩子,不编造付费代码。原文:Conditionally outputting an element in a Query Loop based on date-type custom field
适用场景
假设你有一个 event(活动)自定义文章类型,带一个 event_date 日期型自定义字段,并用 Query Loop 展示最近发布的 10 个活动。
某一时刻,其中 2 个活动发生在未来。你希望只为这 2 个未来活动显示“即将开始”CTA 按钮,其余 8 个不显示。
实现思路
- 用 Meta Box 注册一个
Date Picker字段,并勾选 “Save value as timestamp”(存为时间戳) - 在 Query Loop 里,对要条件显示的元素(如按钮)加一段判断逻辑:读取当前循环项的
event_date时间戳,与current_time比较 - 仅当
event_date > 当前时间(即未来/即将开始)时,才渲染该元素
关键钩子与字段
- 自定义字段插件:Meta Box(Date Picker,存时间戳)
- 条件判断:对比
event_date字段值与current_time('timestamp') - 渲染控制:在子主题
functions.php或代码片段插件里用 Bricks 的条件渲染钩子
完整 PHP 实现请参考 BricksLabs Pro 原文(需会员)。本文仅作选题索引与思路梳理,帮助你判断是否需要这个功能。
延伸
延伸阅读
Bricks 按 ACF Options 字段条件显示元素(Pro 思路卡)
选题卡:只有当 ACF Options 页面上的某个字段(如 phone)有值时,才渲染带电话图标的容器。思路+钩子,完整代码见 BricksLabs Pro。
tutorialBricks 按用户角色条件输出内容(Pro 思路卡)
选题卡:根据当前登录用户的角色(如 editor / subscriber),在 Bricks 里条件显示或隐藏某些元素。思路+钩子,完整代码见 BricksLabs Pro。
tutorialBricks 判断 ACF Repeater 是否有数据行:条件输出进阶
教程:在 Bricks 里用自定义函数判断 ACF Repeater 字段是否有数据行,从而条件显示元素。解决基础类型条件判断搞不定的数组型字段。
tutorialBricks 给区块加草稿状态开关:编辑器里隐藏未定稿区块
教程:用代码片段给 Bricks 所有元素加一个“草稿状态”勾选框,勾选后前端不输出。适合临时隐藏未定稿区块(Bricks 2.0 已原生内置,本文作历史方案参考)。
