【问题标题】:WordPress: ACF add rows to a repeater fieldWordPress:ACF 将行添加到转发器字段
【发布时间】:2016-02-06 07:58:29
【问题描述】:

我正在寻找一种将行添加到 ACF Pro 中的转发器字段的方法。我找到了this post,但解决方案帖子似乎不起作用。我将描述我的问题:

我有一个名为“gebruikers”的自定义帖子类型、一个名为“logins”的转发器字段和一个可以包含一个名为“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 );*/

【问题讨论】:

  • 该函数只更新现有行而不创建新行。
  • 我遇到了同样的问题 - 如果您向中继器添加了一行,则您的示例有效......但如果它根本没有数据,则不会创建字段哈希

标签: php wordpress advanced-custom-fields


【解决方案1】:

终于明白了!

更改 $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' );

【讨论】:

    【解决方案2】:

    我认为 add_row 函数是您正在寻找的。 https://www.advancedcustomfields.com/resources/add_row/

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

    【讨论】:

    • 帖子ID在哪里?
    • @MarekMaurizio 如果没有给出帖子 ID,那么它将应用于当前帖子。如果要指定帖子,请使用$row_id = add_row( 'logins', $row, $post_id );
    猜你喜欢
    • 1970-01-01
    • 2019-01-12
    • 2018-11-18
    • 1970-01-01
    • 2021-03-01
    • 2014-09-12
    • 1970-01-01
    • 2021-11-28
    • 2010-09-05
    相关资源
    最近更新 更多