Home Forums Front-end Issues Pre-Populate GF form with ACF Field Data


Pre-Populate GF form with ACF Field Data

  • Hi Everyone,

    I am working on getting ACF data (specific to a logged in user) to appear pre-populated in Gravity Forms, I tried using this code from a 4 year old post in GF Forums but no luck.

    /* Dynamically populate Gravity
    ———————————— */
    add_filter(‘gform_field_value_dept_name’, ‘my_user_info’);
    function my_user_info($value){
    return get_field(‘dept_name’);

    I added ACF Fields for “Logged In” users and have 3 fields (Dept Name, Dept ID and Billing Link), once I get the first piece of code working I will duplicate it (unless anyone has a better solution to consolidate it to one line of code, I am still learning PHP functions.

    Any ideas/solutions?

    Thanks in advance!

  • As long as GF is still working the way it worked in that post. I’m not very familiar with GF, I can help you get things out of ACF but putting them somewhere else…

    When getting the value for a user you need to give ACF the $post_id argument.

    add_filter('gform_field_value_dept_name', 'my_user_info');
    function my_user_info($value){
      $id = get_current_user_id();
      $post_id = 'user_'.$id;
      return get_field('dept_name', $post_id);

    see getting values from other places on this page

  • Hi John,

    That code worked perfectly! Now 2nd part of the question, is best solution to repeat the code or is there a way to have one function return all three values?

    Thanks for quick reply!


  • If all of your fields in GF have the same field name as the field names in ACF then there is a way that you can use a single function, that’s if I’m understanding the GF hook from what I’m seeing.

    I’m assuming that the GF hook is "gform_field_value_{$your_field_name}"

    Lets say you have 2 fields

    $field_names = array('field_1', 'field_2');
    foreach ($field_names as $name) {
      add_filter('gform_field_value_'.$name, 'load_my_custom_values');
    function load_my_custom_values($value) {
      // get the current filter that was called
      // it will contain the field name
      $filter = current_filter();
      // remove 'gform_field_value_' from filter name
      $field = str_replace('gform_field_value_', '', $filter);
      $id = get_current_user_id();
      $post_id = 'user_'.$id;
      $value = get_field($field, $post_id);
      return $value;
  • Thanks again John!

    I modified the second code example to have a third variable, and it worked perfectly!! I then modified a value and refreshed the page and it brought it in as I want!

    This is great!

    Thanks again this helps me out a lot! (and good code example to follow!)

Viewing 5 posts - 1 through 5 (of 5 total)

The topic ‘Pre-Populate GF form with ACF Field Data’ is closed to new replies.