首页 > 解决方案 > 将contactform 7数据存储到用户中-wordpress

问题描述

我正在 WordPress 网站上工作,我想使用联系表单 7 插件创建注册表单,用户详细信息存储在数据库中,但无法使用联系表单 7 插件存储到数据库中的详细信息登录?

知道用户如何使用联系表格 7 插件存储的详细信息登录吗?

联系表格 7 表格示例

<label>Email (required)
[text* your-email] </label>

<label>Phone(required)
[text* your-phone] </label>

<label>Password(required)
[password* pass] </label>

错误

ERROR: The password you entered for the email address test@yahoo.com 
is incorrect. Lost your password?

标签: wordpressformspluginslogincontact-form-7

解决方案


您需要在wpcf7_before_send_mail钩子中添加代码,请查看下面完成的工作代码。

    add_action('wpcf7_before_send_mail', 'save_form' );

    function save_form( $wpcf7 ) {
            global $wpdb;

            /*
             Note: since version 3.9 Contact Form 7 has removed $wpcf7->posted_data
             and now we use an API to get the posted data.
            */

            $submission = WPCF7_Submission::get_instance();

            if ( $submission ) {

                $submited = array();                  
                $submited['posted_data'] = $submission->get_posted_data();

             }
         $email=$submited['posted_data']['your-email'];
         $pass=$submited['posted_data']['pass'];
         $userdata = array(
         'user_login'  => $email,  
         'user_email'  => $email,  
         'user_pass'   =>  $pass  // When creating an user, `user_pass` is expected.
         );
         $user_id = wp_insert_user( $userdata ) ;
    }

推荐阅读