Support

Account

Home Forums Bug Reports Flexible Content Fields with local json save out of order Reply To: Flexible Content Fields with local json save out of order

  • I have figured where the problem is and I have informed E.

    I also have a temporary fix, it’s not pretty but it works.

    file: advanced-custom-fields-pro/includes/acf-field-group-functions.php
    Lines 1032 to 1037 look something like this

    
    // Add field menu_order.
    			if( !isset($count[ $field['parent'] ]) ) {
    				$count[ $field['parent'] ] = 1;
    			} else {
    				$count[ $field['parent'] ]++;
    			}
    			
    			// Only add menu order if doesn't already exist.
    			// Allows Flexible Content field to set custom order.
    			if( empty($field['menu_order']) ) {
    				$field['menu_order'] = ($count[ $field['parent'] ] - 1);
    			}
    

    replace this code with

    
    // Add field menu_order.
    			if (!isset($field['parent_layout'])) {
    				if( !isset($count[ $field['parent'] ]) ) {
    					$count[ $field['parent'] ] = 1;
    				} else {
    					$count[ $field['parent'] ]++;
    				}
    			} else {
    				if( !isset($count[ $field['parent_layout'] ]) ) {
    					$count[ $field['parent_layout'] ] = 1;
    				} else {
    					$count[ $field['parent_layout'] ]++;
    				}
    			}
    			
    			// Only add menu order if doesn't already exist.
    			// Allows Flexible Content field to set custom order
    			if (!isset($field['parent_layout'])) {
    				if( empty($field['menu_order']) ) {
    					$field['menu_order'] = ($count[ $field['parent'] ] - 1);
    				}
    			} else {
    				if( empty($field['menu_order']) ) {
    					$field['menu_order'] = ($count[ $field['parent_layout'] ] - 1);
    				}
    			}