我尝试让用户从前端发布到嵌套的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
,或者我是否需要做其他事情。
更新
我刚刚这样做了,它确实输入到了第一行:
$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
我似乎找不到任何关于这方面的文档,但看起来这是可能的,只是弄清楚语法的一个例子。
发布于 2014-05-19 20:52:44
修复方法是一个数组数组:
$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);
https://stackoverflow.com/questions/23736805
复制相似问题