Fill Gravity Forms Fields With the Logged-In User's Details
Lets Gravity Forms fields fill themselves with the visitor's name, email, username or role when they are logged in, using simple parameter names.
Opens WPIDE on
Code
$wpide_gf_user_params = array(
'user_email' => 'user_email',
'user_first_name' => 'first_name',
'user_last_name' => 'last_name',
'user_display_name' => 'display_name',
'user_login' => 'user_login',
);
foreach ( $wpide_gf_user_params as $wpide_param => $wpide_prop ) {
add_filter( 'gform_field_value_' . $wpide_param, function ( $value ) use ( $wpide_prop ) {
if ( '' !== (string) $value || ! is_user_logged_in() ) {
return $value;
}
return (string) wp_get_current_user()->get( $wpide_prop );
} );
}
add_filter( 'gform_field_value_user_role', function ( $value ) {
if ( '' !== (string) $value || ! is_user_logged_in() ) {
return $value;
}
$roles = (array) wp_get_current_user()->roles;
return $roles ? (string) reset( $roles ) : '';
} );
Notes
In a field's Advanced tab tick "Allow field to be populated dynamically" and enter one of the parameter names: user_email, user_first_name, user_last_name, user_display_name, user_login or user_role.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.