代码之家  ›  专栏  ›  技术社区  ›  Yoni

WpForms-在表单提交到数据库之前调整值

  •  0
  • Yoni  · 技术社区  · 4 年前

    如何在提交之前调整提交的数据??
    (我正试图调整下拉列表的值,以使用该值而不是文本)
    这是我的代码:

    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语句在我的页面上显示了“校正”后的数据,如图所示 enter image description here :

    echo "<pre>". print_r($fields, true)."</pre><hr>";
    

    但这是一个用户注册表,提交到数据库的数据仍然是原始值,而不是我将其更改为的value_raw?

    有人知道吗?

    0 回复  |  直到 4 年前
        1
  •  1
  •   WP Punk    4 年前

    我用 wpforms_user_registered 行动。

    系统创建用户后,我使用 update_user_meta 从下拉菜单中插入正确的值。