php - WpForms - 在表单提交到数据库之前调整值
问题描述
如何在提交之前调整提交的数据?
(我正在尝试调整下拉值以使用该值而不是文本)
这是我的代码:
function wpf_dev_process( $fields, $entry, $form_data ) {
if ( absint( $form_data['id'] ) !== 66203 ) {
return $fields;
}
foreach ( $fields as $key => $value ){
if ($fields[$key]["type"] == "select"){
$fields[$key]["value"] = $fields[$key]["value_raw"];
}
}
echo "<pre>". print_r($fields, true)."</pre><hr>";
return $fields;
}
add_action( 'wpforms_process', 'wpf_dev_process', 10, 3 );
echo "<pre>". print_r($fields, true)."</pre><hr>";
但这是用户注册表,提交到数据库的数据仍然是原始值,而不是我更改为的 value_raw?
有人知道吗?
解决方案
我使用wpforms_user_registered
动作解决了这个问题。
系统创建用户后,我习惯update_user_meta
从下拉列表中插入正确的值。
推荐阅读
- html - 如何在网页上注入脚本?
- c# - 使用 Html.BeginForm 和 ajax 调用相同的动作冲突?
- java - 如何从字符串选项中转义字符
- google-sheets - 将 2 个单元格与第 2 个单元格组合在括号中 - Google 表格/应用程序脚本
- java - ContainerException:java.lang.NoClassDefFoundError:无法初始化类 org.eclipse.persistence.internal.helper.ClassConstants
- php - 使用 jquery 显示和隐藏每次点击
- qt - 如何使用 eglfs 检测多屏?
- html - 引用 Css 和 Bootstrap 文件
- c++ - 如果未指定,则将预定值分配给输入变量
- c# - Winforms,仅使用断点控制