2014-05-19 60 views
1

我想讓用戶從前端發佈到嵌套的ACF中繼器字段。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

我似乎無法找到任何這文件,但看起來這是可能的,只是找出語法的情況。

回答

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); 
+0

update_sub_field不能很好地工作,它沒有註冊或觸發「父」字段已被更新,因此它在不顯示管理員。 –

+0

僅供參考:https://www.advancedcustomfields.com/resources/update_sub_field/現在有幾種方法可以幫助更新嵌套字段update_sub_field就是其中之一。 – hitautodestruct