gpt4 book ai didi

wordpress - ACF Pro 中的 add_row 不保存中继器值

转载 作者:行者123 更新时间:2023-12-02 06:54:37 26 4
gpt4 key购买 nike

我的情况

我正在使用 Advanced Custom Fields Pro在 wordpress 中存储帖子的元数据。

我的帖子是动态创建的(不是通过管理界面),这意味着我明确需要使用字段键而不是字段名称来填充元数据。我的一个字段是带有单个文本区域的转发器字段,另一个是标准文本区域。

我的代码

以下代码是我所说的(每个帖子一次)。该帖子是使用 wp_insert_post() 创建的早些时候。

  // Populate "Name"
update_field('field_566e360961c2f', 'John Doe', $wp_identifier);

// Populate "Sponsors"
foreach($sponsors as $sponsor) {

// Define "Sponsor Name"
$new_sponsor = array(
'field_566e32fb943a5' => 'Beats and Corn Companye'
);

add_row('field_566e32bd943a4', $new_sponsor, $wp_identifier);
}

这样做的结果是填充标准文本字段,并创建单个“赞助商”转发器项目,但赞助商名称的值为空。

相关 wp_postmeta生成的数据如下所示:
|   18226 |      71 | name                    | John Doe
| 19234 | 71 | sponsors | 1 |
| 19235 | 71 | _0_field_566e32fb943a5 | Beats and Corn Company |

我的问题

我究竟做错了什么?查看 add_row() 的文档这似乎是正确的方法。中继器字段是否有可能以不同的方式标记我不知道的键?

最佳答案

这在今天的文档中并没有说得很清楚,但事实证明 add_row仅当已保存现有行时才有效。第一次尝试填充中继器字段时,您必须使用 update_field而是传递一组值数组。
更正后的代码:

  // Populate "Name"
update_field('field_566e360961c2f', 'John Doe', $wp_identifier);

// Populate "Sponsors"
$new_sponsors = array();
foreach($sponsors as $sponsor) {

// Define "Sponsor Name"
$new_sponsor = array(
'field_566e32fb943a5' => 'Beats and Corn Companye'
);
$new_sponsors[] = $new_sponsor;
}

update_field('field_566e32bd943a4', $new_sponsors, $wp_identifier);

关于wordpress - ACF Pro 中的 add_row 不保存中继器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34305000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com