1
User Registration using WPForms
Mehran Dehghanian edited this page 4 years ago
Read a field from wpfroms:
function wpf_dev_process_entry_save( $fields, $entry, $form_id, $form_data ) {
// Only run on my form with ID = 4117
if ( absint( $form_data['id'] ) !== 4117 ) {
return $fields;
}
$_SESSION['age'] = $fields[3]['value']; // This is where we access the form data
$_SESSION['gender'] = $fields[2]['value'];
}
Sign up using snippets:
$user_id = wp_insert_user( array(
'user_login' => 'janedoe',
'user_pass' => 'passwordgoeshere',
'user_email' => 'jane.doe@example.com',
'first_name' => 'Jane',
'last_name' => 'Doe',
'display_name' => 'Jane Doe',
'role' => 'editor'
));
more information:
$user_data = array(
'ID' ( null | integer ),
'user_pass' ( null | string ),
'user_login' ( null | string ),
'user_nicename' ( null | string ),
'user_url' ( null | string ),
'user_email' ( null | string ),
'display_name'( null | string ),
'nickname' ( null | string ),
'first_name' ( null | string ),
'last_name' ( null | string ),
'description' ( null | string ),
'user_registered' ( null | string ),
'role' ( null | string ),
'jabber' ( null | string ),
'aim' ( null | string ),
'yim' ( null | string ),
'locale' ( null | string ) ,
//...
);
Working example of signup and auto login combined together:
/**
* This will fire at the very end of a (successful) form entry.
*
* @link https://wpforms.com/developers/wpforms_process_complete/
*
* @param array $fields Sanitized entry field values/properties.
* @param array $entry Original $_POST global.
* @param array $form_data Form data and settings.
* @param int $entry_id Entry ID. Will return 0 if entry storage is disabled or using WPForms Lite.
*/
function wpf_dev_process_complete( $fields, $entry, $form_data, $entry_id ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #5.
if ( absint( $form_data['id'] ) !== 130 ) {
return;
}
$userFullName= $fields[7]['value'];
$codeMeli= $fields[48]['value'];
//Create a user
// Update user data
$user_id = wp_insert_user( array(
'display_name' => $userFullName,
'user_login' => $codeMeli,
'user_pass' => $codeMeli
));
// $result = wp_create_user( $codeMeli, $codeMeli);
// if(is_wp_error($result)){
// $error = $result->get_error_message();
//handle error here
// }else{
// $user = get_user_by('id', $result);
//handle successful creation here
// }
wp_signon(
array(
'user_login' => $codeMeli,
'user_password' => $codeMeli,
'remember' => true,
)
);
}
add_action( 'wpforms_process_complete', 'wpf_dev_process_complete', 10, 4 );
sources: Login/Signup snippets Autologin after signup in wpfroms