首页 > 解决方案 > 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?

有人知道吗?

标签: phpwordpress

解决方案


我使用wpforms_user_registered动作解决了这个问题。

系统创建用户后,我习惯update_user_meta从下拉列表中插入正确的值。


推荐阅读