Title: ACF Update multiple fields and multiple posts
Last modified: February 19, 2019

---

# ACF Update multiple fields and multiple posts

 *  [jarkin13](https://wordpress.org/support/users/jarkin13/)
 * (@jarkin13)
 * [7 years, 3 months ago](https://wordpress.org/support/topic/acf-update-multiple-fields-and-multiple-posts/)
 * I am trying to copy content from old flexible layouts to new flexible layouts.
   For example, I have two flexible layouts called **image media** and one called**
   video media**. They each have multiple fields such as gallery, title, description,
   etc. I created new a new media layouts within in the flexible content that I 
   would like to copy all of this content over on several pages.
 * I would like to:
    1. Add new layout rows
    2. Move the content of the old layouts to the new layouts on 67 pages.
 * I have a successful PHP function that is however unreliable and I’m not sure 
   if what I’m doing is the best way of doing what I need done. I have copied the
   function below, but a general summary of what I’m doing:
    1. Grab all the pages with the proper template name using `global $wpdb` and `get_posts()`
    2. Loop through the flexible content field and find the layout row for the **old
       content** and creating a new `array` for each page storing this data
    3. Passing the new data and new flexible layout name I want to add to a function
       I’ve created
    4. Using ACF `update_field()` to update 67 pages
    5. I am then calling this function by using `add_action( 'acf/init', 'update_acf_image_section')`
 * The issue I’m having is that is sometimes creates duplicate layout rows and I’m
   not confident enough in this function to push to production.
 * Here is a sample of my code:
 *     ```
       add_action( 'acf/init', 'update_acf_image_section' );
   
       function update_acf_image_section() {
         $pages                = get_acf_template( 'template-name', 67 );  // this uses get_posts();
         $procedure_layout_key = 'field_KEY';
   
         foreach ( $pages as $page ) {
           $loop = 0;
   
           $i               = 0;
           $layouts_data    = get_field_object( $procedure_layout_key, $page->ID );
           $image_values    = false;
           $image_galleries = [];
   
           if ( have_rows( 'procedure_child_layout', $page->ID ) ) :
             while ( have_rows( 'procedure_child_layout', $page->ID ) ) : the_row();
               if ( 'procedure_child_media_gallery' === get_row_layout() ) {
                 $type = get_sub_field( 'media_type', $page->ID );
   
                 if ( 'image' === $type && 0 === $loop ) {
                   if ( get_sub_field( 'title', $page->ID ) ) {
                     $image_title = get_sub_field( 'title', $page->ID );
                   }
   
                   ....
   
                   $image_values = array(
                     'acf_fc_layout'             => 'image_gallery',
                     'image_gallery_title'       => $image_title,
                     'image_gallery_description' => $image_descript,
                     'image_gallery_button_link' => $image_button_text,
                     'image_gallery_button_text' => $image_button_link,
                     'image_disclaimer_text'     => $image_disclaimer,
                     'image_galleries'           => $image_galleries,
                   );
   
                   $row = $i + 1;
                 }
               }
   
               $i++;
             endwhile;
           endif;
   
           if ( $image_values && 0 ) {
           	get_acf_values(...); // this uses acf update_field()
           }
         }
       }
       ```
   
    -  This topic was modified 7 years, 3 months ago by [jarkin13](https://wordpress.org/support/users/jarkin13/).

The topic ‘ACF Update multiple fields and multiple posts’ is closed to new replies.

 * ![](https://ps.w.org/advanced-custom-fields/assets/icon.svg?rev=3207824)
 * [Advanced Custom Fields (ACF®)](https://wordpress.org/plugins/advanced-custom-fields/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/advanced-custom-fields/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/advanced-custom-fields/)
 * [Active Topics](https://wordpress.org/support/plugin/advanced-custom-fields/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/advanced-custom-fields/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/advanced-custom-fields/reviews/)

 * 0 replies
 * 1 participant
 * Last reply from: [jarkin13](https://wordpress.org/support/users/jarkin13/)
 * Last activity: [7 years, 3 months ago](https://wordpress.org/support/topic/acf-update-multiple-fields-and-multiple-posts/)
 * Status: not resolved