Support

Account

Home Forums Reply To:

  • Greetings – We are attempting to populate an ACF field with the values of a Post Object in the same form, which lives in a nested repeater. This field is updated after the user submits the form.

    The code below (which we’re deploying via Woody Snippets, if that matters) works, but has an issue we need help with (we’re clearly not PHP experts and are learning as we go).

    The ACF field that gets updated does get populated on form save, but only with the very last instance of the nested repeater and only the very last of its sub-field values.

    It seems that a foreach is needed but we can’t figure it out. The end result should be a list of all post_titles, separated by a space, from the Post Object product_table_product sub-field. This list will be saved to a text field called search_terms.

    Here is our code:

    
    
    function save_search_terms( $post_id ) {
        
        // Get new value
    	if( have_rows('product_table') ):
        while( have_rows('product_table') ) : the_row();
    
            // Loop over sub repeater rows
            if( have_rows('product_table_products') ):
                while( have_rows('product_table_products') ) : the_row();
    
                    // Get sub value
                    $tempsearchterms = get_sub_field('product_table_product');
                         $searchterms = $tempsearchterms->post_title;
    	
                endwhile;
            endif;
        endwhile;
    endif;	
        
        // update field
        update_field('search_terms', $searchterms);
    }
    
    add_action('acf/save_post', 'save_search_terms');
    
    

    Thanks for any help!