So I’ve enabled User Registration Gravity Form Add-on, and I want a specific section to be added to a repeater field upon user registration/form submission.
In my functions.php, I created these:
add_action( 'gform_after_submission_6', 'set_post_content', 10, 2 );
function set_post_content( $entry, $form ) {
//getting post
$post = get_post( $entry['post_id'] );
//change the 4 to your gravity form field number
$caryear = rgar( $entry, '21' );
#add the row to the repeater
$row = array(
'field_5aff6ca2a2def' => $caryear #this is your repeater subfield key
);
$i = add_row('field_5ac6602d483d7', $row, $post_id->ID); #this is the main repeater key
}
I also tried this but I don't know exactly what I am doing
add_action( 'gform_user_registered_6', 'car_regs', 10, 3 );
function car_reg( $user_id, $feed, $entry ) {
$user = new WP_User( $user_id );
$userid = 'user_'.$user;
$caryear = rgar( $entry, '21' );
$post = get_post( $entry['post_id'] );
#add the row to the repeater
$row = array(
'field_5aff6ca2a2def' => $caryear #this is your repeater subfield key
);
$i = add_row('field_5ac6602d483d7', $row, $userid); #this is the main repeater key
}
add_action( 'gform_after_submission_6', 'set_post_content', 10, 2 );
function set_post_content( $entry, $form ) {
//getting post
$post = get_post( $entry['post_id'] );
$emailaddress = rgar( $entry, '3' );
$user = get_user_by( 'email', $emailaddress );
$userId = $user->ID;
$userACF = 'user_'.$userId;
//change the 4 to your gravity form field number
$caryear = rgar( $entry, '21' );
#add the row to the repeater
$row = array(
'field_5aff6ca2a2def' => $caryear #this is your repeater subfield key
);
add_row('field_5ac6602d483d7', $row, $userACF); #this is the main repeater key
}
For more context, what I am trying to do is upon user registration(Form Submission), it adds an entry to their repeater form attached to their profile.
I’ve tried numerous times, but it does not work at all. I am very much stuck and don’t know if I missed something. Any help would be excellent!
I was able to figure out the solution. Turns out I need to hook it to a gravity forms registered hook, look up the user by user email, then get user id that way since, getting the user ID without referencing something to look up will returned nulled.
here is my updated function for anyone that cares.
add_action( 'gform_user_registered', 'add_custom_user_meta', 10, 4 );
function add_custom_user_meta( $user_id, $feed, $entry, $user_pass ) {
$email = rgar( $entry, '3' );
$user = get_user_by( 'email', $email );
$userID = $user->ID;
$userACF = 'user_'.$userID;
$post = get_post( $entry['post_id'] );
$caryear = rgar( $entry, '7' );
$row = array(
'field_5aff6ca2a2def' => $caryear #this is your repeater subfield key
);
add_row('field_5ac6602d483d7', $row, $userACF); #this is the main repeater key
}