如何用Carbon Fields为WordPress插件实现不定量可增减的人员输入字段
解决方案
要实现可动态增减的字段组,使用Carbon Fields提供的complex字段即可,该字段原生支持重复字段组配置,最终数据将自动以数组格式存储。
完整修改代码
Container::make('theme_options', 'XXX') ->set_page_parent('options-general.php') ->add_tab( 'People', array( Field::make('complex', 'xxx_people', '人员列表') // 配置每个重复组包含的字段 ->set_fields(array( Field::make('text', 'xxx_name', 'Name'), Field::make('text', 'xxx_surname', 'Surname') )) // 可选配置:限制最少/最多可添加的组数 ->set_min(1) ->set_max(20) // 可选配置:自定义添加按钮文字 ->set_add_button_text('+ 添加新人员') ));
数据读取方式
后台保存后,可通过以下方式读取结构化的数组数据:
// 获取所有人员数据,返回索引数组,每个元素对应一组人员信息 $people_list = carbon_get_theme_option('xxx_people'); // 遍历输出示例 if (!empty($people_list)) { foreach ($people_list as $person) { echo '姓名:' . $person['xxx_name'] . ' ' . $person['xxx_surname'] . '<br>'; } }
效果说明
- 后台自动生成需求对应的交互:每个人员组自带删除按钮,底部显示添加按钮,点击即可新增一组字段
- 存储的数组结构清晰,可直接遍历使用,不需要额外解析
内容的提问来源于stack exchange,提问作者EuberDeveloper
相关产品推荐
相关产品推荐

