17 Jan

ACF 5.7.10 Release

Advanced Custom Fields version 5.7.10 is now available. This is an update for both our ACF and ACF PRO plugins, and we encourage you to update your sites as soon as possible.

This release contains a handful of bug fixes and improvements throughout the plugin. It also marks the beginning of our 2019 mission to “improve deeply” starting with the underlying PHP codebase.

You can view the full changelog is below.

*Release Date - 16 January 2019*

* Fix - Fixed bug preventing metaboxes from saving if validation fails within Gutenberg.
* Fix - Fixed bug causing unload prompt to show incorrectly within Gutenberg.
* Fix - Fixed JS error when selecting taxonomy terms within Gutenberg.
* Fix - Fixed bug causing jQuery sortable issues within other plugins.
* Tweak - Improved loading translations by adding fallback from region to country when .mo file does not exit.
* Tweak - Improved punctuation throughout admin notices.
* Tweak - Improved performance and accuracy when loading a user field value.
* Dev - Added filter 'acf/get_locale' to customize the locale used to load translations.
* Dev - Added filter 'acf/allow_unfiltered_html' to customize if current user can save unfiltered HTML.
* Dev - Added new data storage functions acf_register_store() and acf_get_store().
* Dev - Moved from .less to .scss and minified all css.
* i18n - Updated French translation thanks to Maxime Bernard-Jacquet.
* i18n - Updated Czech translation thanks to David Rychly.

… and now for some under the hood improvements.

Data stores.

In an attempt to standardize data storage and also remove duplicate code, we have added the ability to register and interact with data stores. Each store is an instance of the ACF_Data class allowing for easy get(), set() and has() functionality. We’ve used it to massively improve our Admin Notices functionality and will continue to roll it out throughout the plugin! Here’s a quick look.

// Register a store.
$store = acf_register_store('my-store', array(
    'foo' => 'bar'
));

// Get a store anywhere.
$store = acf_get_store( 'my-store' );

// Get a value.
$foo = $store->get('foo');

// Set a value.
$store->set('foo', 'zar');

// Check a value.
if( !$store->has('multiple') ) {
    $store->set(array(
        'you_can'       => 'Also',
        'set_multiple'  => 'Values'
    ));
}

These “under the hood” features are the ones that really excite us here at ACF. They will allow us to write cleaner and slimmer code which in turn provides a faster and more robust framework to build upon.

2019 is going to be a big year. Stay tuned for exciting updates to come!