Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress重力表单获取列表值_Wordpress_Advanced Custom Fields_Gravity Forms Plugin - Fatal编程技术网

Wordpress重力表单获取列表值

Wordpress重力表单获取列表值,wordpress,advanced-custom-fields,gravity-forms-plugin,Wordpress,Advanced Custom Fields,Gravity Forms Plugin,有人能告诉我如何从包含列表字段的提交表单中提取值吗 我正在尝试使用重力表单创建前端发布表单,然后将提交的值分配给使用高级自定义字段创建的自定义字段 对于普通字段,您可以通过以下方法执行此操作: add_action("gform_after_submission_1", "acf_submission", 10, 2); function acf_submission($entry, $form) { $post_id = $entry["post_id"]; update_fie

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

我正在尝试使用重力表单创建前端发布表单,然后将提交的值分配给使用高级自定义字段创建的自定义字段

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

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['#']是重力表单字段ID,$post#u ID是要更新/存储值的帖子的ID

使用条目['#']可以很好地处理普通字段(文本、段落等),但列表(重复)字段的存储方式有点不同。在DB中,该值如下所示(对于具有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['.'.'.'.'],就像您对address这样的字段所做的那样,但这不起作用。

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

$array_values = unserialize($entry['#']);  
print_r($array_values); //see what your values are.
现在您已经有了值,可以在新的$array\u values数组中访问它们。

信息可从重力表的文档中找到-

$list_values = unserialize( rgar( $entry, '3' ) ); 

// You will get an array like below
$list_values = array(
  array(
    'Column 1' => 'one',
    'Column 2' => 'two',
    'Column 3' => 'three',
  ),
  array(
    'Column 1' => 'i',
    'Column 2' => 'ii',
    'Column 3' => 'iii',
  ),
  array(
    'Column 1' => '1',
    'Column 2' => '2',
    'Column 3' => '3',
  ),
);