能否在Bricks Builder中基于自定义字段实现关联内容循环?
能否在Bricks Builder中基于自定义字段实现关联内容循环?
当然可以搞定!我来给你拆解两种实用方法,结合你用ACF创建的Groups和Characters自定义文章类型,轻松实现单个Group页面展示关联角色的需求。
方法一:用Bricks可视化Query Loop+Meta Query(新手友好)
这是最直接的方式,不用写代码就能完成:
- 打开Bricks编辑器,进入单个Group的模板(或者直接编辑目标Group页面)。
- 添加一个Query Loop元素,先把查询类型改成「自定义文章类型」,选中「Characters」。
- 重点来了!在Query Loop的「Query」设置里找到「Meta Query」,点击添加一条规则:
- 元键(Meta Key):填你的ACF字段slug——
connected_group(注意是字段的内部标识,不是显示的名称) - 元值(Meta Value):用Bricks的动态数据标签
{post_title},这样就能自动获取当前Group的标题,匹配Character里关联的字段值 - 比较运算符(Compare):选择「=」,因为我们要精准匹配标题一致的关联角色
- 元键(Meta Key):填你的ACF字段slug——
- 最后在Query Loop里添加标题、图片这些元素,就能展示所有关联的Character内容啦。
⚠️ 小提醒:如果你的connected_group字段是ACF的「文章」类型(不是纯文本标题),那元值要换成{post_id},用文章ID匹配会更稳定哦。
方法二:自定义短代码(适配特殊场景)
如果可视化设置遇到字段存储格式的问题,用短代码更灵活:
- 把下面的代码添加到主题的
functions.php里,或者用Code Snippets插件导入:
function get_group_characters() { // 获取当前Group的ID和标题 $current_group_id = get_the_ID(); $current_group_title = get_the_title($current_group_id); // 构建查询参数 $args = array( 'post_type' => 'characters', 'posts_per_page' => -1, // 显示所有关联角色 'meta_query' => array( array( 'key' => 'connected_group', 'value' => $current_group_title, 'compare' => '=' ) ) ); $characters_query = new WP_Query($args); $output = ''; if ($characters_query->have_posts()) { $output .= '<ul class="group-characters-list">'; while ($characters_query->have_posts()) { $characters_query->the_post(); // 这里可以自定义输出内容,比如标题+链接 $output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>'; } $output .= '</ul>'; wp_reset_postdata(); // 重置查询,避免后续内容出错 } else { $output .= '<p>暂无关联角色</p>'; } return $output; } add_shortcode('group_characters', 'get_group_characters');
- 回到Bricks编辑器,添加一个「短代码」元素,输入
[group_characters],就能自动渲染关联的角色列表了。
排查小技巧
如果设置后还是不显示内容,检查这几点:
- 确认ACF字段的slug确实是
connected_group,别写错了 - 检查Character文章里的
connected_group字段,是不是准确选择了对应的Group标题,有没有拼写错误 - 用Bricks的动态数据预览功能,确认
{post_title}输出的是当前Group的标题,不是其他内容
备注:内容来源于stack exchange,提问作者MageMedia
相关产品推荐
相关产品推荐

