Support

Account

Home Forums Add-ons Repeater Field Repeater fields only update after twice clicks on update button

Solved

Repeater fields only update after twice clicks on update button

  • Hello there,

    I’m facing a strange situation. I have a cpt firing a save_post action to update some data. This cpt has a repeater field with some “regular fields”.

    This repeater just update the data (add a new element inside the array) if I click twice on the Publish/Update button. On the first click, the data is stored inside of this ctp but I cannot get the values from the repeater updated.

    Here a code example:

    function auto_ctp($post_id, $post, $update) {
      $fields = get_fields($post_id);
      // Here, the var is empty on the first click
      // but filled on the update or on the second click
      var_dump($fields);
      if (wp_is_post_revision($post_id)) {
        return;
      }
      else {
        remove_action('save_post_ctp', 'auto_ctp');
        // execute some update code
        // load the action again
        add_action('save_post_ctp', 'auto_ctp', 10, 3);
      }
    }
    add_action('save_post_ctp', 'auto_ctp', 10, 3);

    I’m sure that I missed some hook to get the full data but, after a search on the documentation, I didn’t see anything that helps me.

    Any idea where is the mistake on this logic?

    Thanks a lot

  • when this hook fires save_post_ctp ACF has not yet saved data. This hook is fired before ACF saves anything. You need to use the acf/save_post hook or you need to use the WP “save_post” hook with a priority > 10.

    If you want to get data before ACF has saved values then you need to look in $_POST['acf']

  • Gotcha!
    The acf/save_post solved my problem.

    Thanks a lot!

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

You must be logged in to reply to this topic.