gpt4 book ai didi

Wordpress Gravity Forms 获取列表值

转载 作者:行者123 更新时间:2023-12-02 03:34:49 25 4
gpt4 key购买 nike

有人能告诉我如何从提交的包含列表字段的表单中提取值吗?

我正在尝试使用 Gravity Forms 创建一个前端发布表单,然后将提交的值分配给使用 Advanced Custom Fields 创建的自定义字段。

对于普通字段,您可以使用以下方法执行此操作:

add_action("gform_after_submission_1", "acf_submission", 10, 2);

function acf_submission($entry, $form)
{
$post_id = $entry["post_id"];
update_field('field_###', $entry['#'], $post_id );
update_field('field_###', $entry['#'], $post_id );
update_field('field_###', $entry['#'], $post_id );
}

其中 field_### 是 ACF 自定义字段键,entry['#'] 是 Gravity Forms 字段 ID,$post_id 是您要更新/存储值的帖子的 ID。

使用 entry['#'] 可以很好地处理普通字段(文本、段落等),但列表(重复器)字段的存储方式略有不同。在数据库中,该值看起来像这样(对于具有 3 个字段(列)的列表字段,对于单击添加按钮添加列表字段的其他实例的人:

a:2:{i:0;a:3:{s:4:"Column 1 Name";s:7:"value input";s:6:"Column 2 Name";s:34:"value input";s:11:"Column 3 Name";s:24:"value input";}i:1;a:3:{s:4:"Column 1 Name";s:11:"value input";s:6:"Column 2 Name";s:19:"value input";s:11:"Column 3 Name";s:22:"value input";}}

我不知道如何提取这些值并将它们分配给 ACF 字段。我尝试了 entry['#.#'] 就像你对地址这样的字段所做的那样,但这没有用。

最佳答案

这是一个序列化数组,因此您可以使用 php 函数反序列化来提取值。

$array_values = unserialize($entry['#']);  
print_r($array_values); //see what your values are.

现在您已经有了自己的值,您可以在新的 $array_values 数组中访问它们。 Getting one value out of a serialized array in PHP

关于Wordpress Gravity Forms 获取列表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24269983/

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