首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我有数组键,如何更新中继器字段?

如果我有数组键,如何更新中继器字段?
EN

Stack Overflow用户
提问于 2016-07-05 09:41:24
回答 2查看 4.8K关注 0票数 3

我找到了这个代码,它应该更新ACF Wordpress中的中继器字段。我的中继器有三列。我只需要更新中继器中某一栏中的某个字段。如何使用此代码执行此操作:

代码语言:javascript
运行
复制
// save a repeater field value
$field_key = "field_3424324234";
$value = array(
    array(
        "sub_field_1"   => "Foo",
        "sub_field_2"   => "Bar"
    )
);
update_field( $field_key, $value, $post_id );

我需要说,我没有专业许可证,我不能使用update_sub_field()。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-06 08:24:38

我会回答下面的问题。我使用了一个与update_field稍有不同的函数,名为update_sub_field。为此,您需要有ACF 5+。若迪·内博特的回答对我有所帮助,但在我的例子中,我需要添加一些额外的变量($post_id)。所以在这里,希望能帮助某人:

代码语言:javascript
运行
复制
update_sub_field( array("repeater_field_key", $row+1, "repeater_sub_field_key"), $new_value, $post_id);

我添加了$row+1,因为$row数字计数从1开始,当$row启动位置在循环中继器时从0开始。希望这有意义。

票数 1
EN

Stack Overflow用户

发布于 2016-07-05 10:23:18

如果要更新Repeater中的子字段,则应该使用update_sub_field而不是update_field

我假设(根据您的代码片段)您没有使用have_rows迭代中继器,所以假设您想更新第三行中的sub_field_2,它应该如下所示:

代码语言:javascript
运行
复制
$subfield = 'sub_field_2';
$row = 3;
$new_value = 'The new value of the field';
update_sub_field( array( $field_key, $row, $sub_field ), $new_value, $post_id );

编辑:,我错过了答案中的$post_id参数。谢谢你@匿名让我注意到这一点。

我希望这能帮到你!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38200095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档