2015-11-05 55 views
2

我正在寻找一种将行添加到ACF Pro中的中继器字段的方法。我发现this post但解决方案后似乎不工作。我将描述我的问题:WordPress:ACF将行添加到中继器字段

我有一个名为“gebruikers”的自定义帖子类型,称为“登录名”的中继器字段和可以具有名为“datum”的字段的行。我希望能够在“datum”字段的新行中添加一个值。这可能吗?

我迄今为止代码:

$field_key = "logins"; 
$user_id = "gebruiker_23"; 
$value = get_field($field_key, $user_id); 
$value[] = array('date' => date('Y-m-d H:i:s')); 
update_field($field_key, $value, $user_id);*/ 
+0

请看看:http://www.advancedcustomfields.com/resources/update_sub_field/ – radscheit

+0

这个功能只更新现有行,并且不产生新的问题。 – vespino

+0

我遇到了同样的问题 - 如果您向reapeater添加了一行,则您的示例工作正常......但如果它没有数据,则不会创建字段散列 –

回答

0

终于想通了这一点!

更改$ field_key =“登录”;到Wordpress帖子表中的字段键。从那里获取field_id(post_name列),分配给主中继器字段。

使用post_name中的ID。

现在你可以插入这些记录,如果没有一个已经存在。

的例子,以前没有行为我工作在一个用户记录:

$field_key = "field_5657dffe586cc"; 
$value = get_field($field_key, 'user_24'); 
$value[] = array("career_enjoyment_id" => "Foo", "career_enjoyment_file" => "Bar"); 
update_field($field_key, $value, 'user_24'); 
1

我觉得add_row功能是你在找什么。 https://www.advancedcustomfields.com/resources/add_row/

$row = array(
'datum' => 'new value', 
); 
$i = add_row('logins', $row); 
+0

帖子ID在哪里? –

+0

@MarekMaurizio如果没有给出帖子ID,那么它将应用于当前帖子。如果你想指定帖子,你可以使用 '$ row_id = add_row('logins',$ row,$ post_id);' –