我试图让用户从前端发布到嵌套的ACF转发器字段。
我在第一个转发器中的子字段发布正常。但是,我无法弄清楚如何让嵌套转发器正常工作。
这是我到目前为止的代码:
$event_field_key = 'field_535e6b9ffe3da';
$events[] = array(
'start-date' => $startDate,
'end-date' => $endDate,
'notes' => $_POST['p'.$p.'-notes'],
'start-end-times' => array(
'start-time' => '09:00', // would be dynamic
'end-time' => '17:00' // would be dynamic
)
);
update_field($event_field_key, $events, $post_id);
我不确定我是否可以在那里嵌套另一个array
,或者我是否需要做其他事情。
[UPDATE]
我刚刚完成了这项工作并输入了第一行:
$event_field_key = 'field_535e6b9ffe3da';
$events[] = array(
'start-date' => $startDate,
'end-date' => $endDate,
'notes' => $_POST['p'.$p.'-notes'],
'start-end-times' => array(
'start-time' => '9:00',
'end-time' => ' 17:00'
)
);
update_field($event_field_key, $events, $post_id);
但是,此代码将第1行的值设为9
,将第2行的值设为1
。
所以看起来像:
Row 1: start time: 9, end time: 9
Row 2: start time: 1, end time: 1
我似乎无法找到任何关于此的文档,但它看起来是可能的,只是一个弄清楚语法的情况。
答案 0 :(得分:5)
修复程序是一个数组数组:
$event_field_key = 'field_535e6b9ffe3da';
$events[] = array(
'start-date' => $startDate,
'end-date' => $endDate,
'notes' => $_POST['p'.$p.'-notes'],
'start-end-times' => array(
array(
'start-time' => '09:00',
'end-time' => '17:00'
),
array(
'start-time' => '10:00',
'end-time' => '16:00'
)
)
);
update_field($event_field_key, $events, $post_id);