如何在Oxygen Builder中用嵌套重复器查询关联自定义文章?
解决Oxygen Builder嵌套显示关联Meta Box自定义文章类型的问题
核心思路
通过Oxygen的动态数据绑定,把当前Portfolio项目的关联Technology ID数组传递给嵌套循环的高级查询,精准筛选出当前项目对应的技术条目。
具体操作步骤
确认Meta Box字段配置
- 确保Portfolio items里关联Technologies的字段是Meta Box的「Post」类型(支持多选,比如Post Checkbox或Post Select),字段slug为
technologies(和你实际设置的一致),该字段存储的是关联Technology的Post ID数组。
- 确保Portfolio items里关联Technologies的字段是Meta Box的「Post」类型(支持多选,比如Post Checkbox或Post Select),字段slug为
外层循环:展示Portfolio items
- 已完成的Portfolio循环保持不变,确保当前循环上下文是单个Portfolio项目。
添加嵌套Repeater循环
- 在Portfolio循环内部(比如每个项目的详情区域)新增一个Repeater组件。
- 将Repeater的数据源设置为Advanced Query。
配置嵌套循环的高级查询参数
- 基础设置:
- Post Type:选择你创建的Technologies自定义文章类型(注意是slug,比如
technologies) - Post Status:勾选
Publish - Posts Per Page:设为
-1(显示所有关联的技术)
- Post Type:选择你创建的Technologies自定义文章类型(注意是slug,比如
- 关键配置:添加自定义Query Args
- 点击「Add Query Arg」,参数名填
post__in - 参数值选择「Dynamic Data」,再选「Meta Field」,输入字段slug
technologies - (如果字段返回的是
123,456这类字符串格式的ID列表,Oxygen会自动处理为数组,无需额外转换)
- 点击「Add Query Arg」,参数名填
- 基础设置:
在嵌套循环中展示技术内容
- 在嵌套Repeater内部添加文本、图片等组件,用动态数据绑定Technologies的自定义字段(比如技术名称、图标等)即可。
注意事项
- 确保Technologies的CPT slug和查询中选择的一致,避免拼写错误。
- 如果
technologies字段返回单个ID而非数组,检查Meta Box字段是否开启了多选设置。 - 若动态数据绑定后查询无结果,可以在页面上用
[oxygen data='meta' key='technologies']输出当前项目的ID值,确认是否正确获取到关联的Technology ID。
内容的提问来源于stack exchange,提问作者Vincent Roye
相关产品推荐
相关产品推荐

