如何从父字段中自动填充子字段选择
How to auto-populate sub-field selects from within a parent field
我在这里使用ACF教程来构建。我想做的是使用文本子字段中的值来填充相同中继器字段内的其他选择子字段。我知道这听起来是递归的,也许这让人望而却步。字段admin将不会是ajax-y或在飞行中更新,它更像是其他网站功能的管理字段。
无论如何,这是我目前为止所知道的。
- ACF中继器字段= core_values
- 字段所在的页面= valuesadmin
- core_values = value_name内的源文本子字段
- 目标子字段(每个需要动态传播的选择从value_name) =
- constructor1_name
- constructor2_name
- constructor3_name
- destructor1_name
- destructor2_name
我已经尝试修改上面教程链接的代码,并将其放在主题的functions.php和插件的主文件中,我正在构建其他自定义函数。
/**
* ACF population functions
*/
function acf_load_core_values_field_choices( $field ) {
// reset choices
$field['choices'] = array();
// if has rows
if( have_rows('core_values', 'valuesadmin') ) {
// while has rows
while( have_rows('core_values', 'valuesadmin') ) {
// instantiate row
the_row();
// vars
$value = get_sub_field('value_name');
$label = get_sub_field('value_name');
// append to choices
$field['constructor1_name'][ $value ] = $label;
$field['constructor2_name'][ $value ] = $label;
$field['constructor3_name'][ $value ] = $label;
$field['destructor1_name'][ $value ] = $label;
$field['destructor2_name'][ $value ] = $label;
}
}
// return the field
return $field;
}
add_filter('acf/load_field/name=constructor1_name', 'acf_load_core_values_field_choices');
add_filter('acf/load_field/name=constructor2_name', 'acf_load_core_values_field_choices');
add_filter('acf/load_field/name=constructor3_name', 'acf_load_core_values_field_choices');
add_filter('acf/load_field/name=destructor1_name', 'acf_load_core_values_field_choices');
add_filter('acf/load_field/name=destructor2_name', 'acf_load_core_values_field_choices');
显然,这并没有像我希望的那样传播select子字段。
问题:-这是可能的(value_name字段都已经填满了值)-函数代码应该放在哪里?-也许我把代码弄乱了
提前感谢!
我实现了我所寻找的功能,首先将这些全部移动到一个ACF选项页面,然后创建另一个ACF字段(values_master),我可以用它在选项页面的第二个字段中动态填充值。所以我不确定这是否因为一些递归而不工作,但它正在工作。
function acf_load_value_field_choices( $field ) {
// reset choices
$field['choices'] = array();
// if has rows
if( have_rows('values_master', 'option') ) {
// while has rows
while( have_rows('values_master', 'option') ) {
// instantiate row
the_row();
// vars
$value = get_sub_field('value_name');
$label = get_sub_field('value_name');
// append to choices
$field['choices'][ $value ] = $label;
}
}
// return the field
return $field;
}
add_filter('acf/load_field/name=constructor1_name', 'acf_load_value_field_choices');
add_filter('acf/load_field/name=constructor2_name', 'acf_load_value_field_choices');
add_filter('acf/load_field/name=constructor3_name', 'acf_load_value_field_choices');
add_filter('acf/load_field/name=destructor1_name', 'acf_load_value_field_choices');
add_filter('acf/load_field/name=destructor2_name', 'acf_load_value_field_choices');
add_filter('acf/load_field/name=value_mstr_name', 'acf_load_value_field_choices');
相关文章:
- 单击鼠标,用MySQL数据填充html表单输入字段
- 如何用URL预填充wufoo字段
- 根据Rails4中的一个字段自动填充表单
- 在输入字段中选择一个值,然后用相应的数据填充另一个字段
- 自动填充动态字段上的 ajax 响应
- Angularjs 通过选择不同选择框中的两个字段来填充选择框
- 如何使用与单个查找字段相关的信息填充字段
- 使用 JSON 数组填充输入字段
- 动态填充字段的Jquery验证
- IE JavaScript参数和填充输入字段
- 从替代字段填充 jquery UI 日期选择器日期字段
- 基于一个输入字段填充另一个输入字段
- 翡翠选择字段填充数据
- html5输入字段填充问题
- 根据ID号字段填充性别和出生日期字段
- 量角器测试通过,但无法看到搜索字段填充
- 从多个输入字段填充字段
- Javascript:如何打开一个字段填充参数的表单
- 根据另一个字段填充输入
- 高级自定义字段/基于另一个字段填充选择