以下是我想要实现的一个简单示例:
我有一个具有不同部分的重力形式,将通过动态预填充有条件地显示。问题是我似乎无法根据我的ACF数据填充它们(这也是复选框)。
如果我将值放入代码中,它的工作原理如下:
<table id="supp_table" class="table">
<thead class=" text-primary">
<th>
ID
</th>
<th>
Name
</th>
<th>
Email
</th>
<th>
Address
</th>
<th>
Phone No.
</th>
<th>
Added BY
</th>
</thead>
<tbody runat ="server">
<%=getSupplierData()%>
</tbody>
</table>
为了让它被动态填充,我尝试了这样的东西,这些东西不起作用(用PHP不太好):
add_filter( 'gform_pre_render_2', 'my_populate_checkbox' );
function my_populate_checkbox( $form ) {
foreach( $form['fields'] as &$field ) {
if( 11 === $field->id ) {
foreach( $field->choices as &$choice ) {
if( 'mychoice' === $choice['value'] || 'anotherchoice' === $choice['value'] ) {
$choice['isSelected'] = true;
}
}
}
}
return $form;
}
它不起作用,我知道我在这里遗漏了一些东西,但无法弄清楚它是什么:/任何帮助或指针都将受到高度赞赏!我试着保持精确,但如果需要更多信息,请告诉我,我会相应更新帖子。
答案 0 :(得分:0)
在一些帮助下弄清楚:)如果有人需要这个功能,以下是它的工作原理:
add_filter( 'gform_pre_render_2', 'my_populate_checkbox' );
function my_populate_checkbox( $form ) {
global $post;
$adfields = get_field( 'addons', get_the_ID() );
foreach( $form['fields'] as &$field ) {
if( 11 === $field->id ) {
foreach( $field->choices as &$choice ) {
if( in_array( $choice['value'] ,$adfields )) {
$choice['isSelected'] = true;
}
}
}
}
return $form;
}