Save ACF Field Groups as JSON Outside the Theme
Stores Advanced Custom Fields field groups, post types and options pages as JSON files in wp-content/acf-json, so they survive theme changes and can go into version control.
Opens WPIDE on
Code
// Folder for the JSON files.
$wpide_acf_json_dir = WP_CONTENT_DIR . '/acf-json';
add_filter( 'acf/settings/save_json', function () use ( $wpide_acf_json_dir ) {
if ( ! is_dir( $wpide_acf_json_dir ) && wp_mkdir_p( $wpide_acf_json_dir ) ) {
// Prevent directory listings.
file_put_contents( $wpide_acf_json_dir . '/index.php', "<?php\n// Silence is golden.\n" );
}
return $wpide_acf_json_dir;
} );
add_filter( 'acf/settings/load_json', function ( $paths ) use ( $wpide_acf_json_dir ) {
$paths[] = $wpide_acf_json_dir;
return array_unique( $paths );
} );
Notes
After activating, open each field group and click Update once to write its file. Change $wpide_acf_json_dir to use another folder.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.