Home › Forums › Bug Reports › 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);
}
}
It looks like this is fixed in 5.8.5, as per patch notes at https://www.advancedcustomfields.com/blog/acf-5-8-5-release/
*Release Date - 8 October 2019*
* New - Added new choice "Add" to the User Form location rule.
* New - Optimized acf_form() logic when used in combination with acf_register_form().
* Fix - Fixed bug causing incorrect field order after sync.
* Fix - Fixed bug reverting the first field type to Text in Firefox version 69.0.1.
* Fix - Fixed bug causing tinymce issues when changing between block modes.
* Fix - Fixed bug preventing block registration when category does not exist.
* Fix - Fixed bug preventing block registration when no icon is declared.
* Dev - Added RegExp compatibility for innerBlocks.
I am currently downloading to verify.
The fix in 5.8.5 looks good. Code change looks like the content of $field_gruop['ID'] and $field_gruop['menu_order'] were explicitly cast as INT to prevent issues with later comparisons.
The topic ‘Flexible Content Fields with local json save out of order’ is closed to new replies.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.