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

  • To combine the fixes from both threads, I replaced:

    // 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( !isset($field['menu_order']) ) {
            $field['menu_order'] = ($count[ $field['parent'] ] - 1);
    }

    on lines 1029-1040 of acf-field-group-functions.php 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'] !== 0) {
            $field['menu_order'] = ($count[ $field['parent'] ] - 1);
        }
    } else {
        if( empty($field['menu_order']) && $field['menu_order'] !== 0) {
            $field['menu_order'] = ($count[ $field['parent_layout'] ] - 1);
        }
    }