Skip to content

Instantly share code, notes, and snippets.

@EngKhaledB
Created August 19, 2018 17:35
Show Gist options
  • Save EngKhaledB/119d715bb749a3e5a14ee1acdff5b466 to your computer and use it in GitHub Desktop.
Save EngKhaledB/119d715bb749a3e5a14ee1acdff5b466 to your computer and use it in GitHub Desktop.
Convert ACF Fields Registered by PHP to Importable JSON Format
<?php
/*
The source for this code is: https://dev-notes.eu/2017/01/convert-acf-fields-registered-by-php-to-importable-json-format/
*/
$groups = acf_get_local_field_groups();
$json = [];
foreach ($groups as $group) {
// Fetch the fields for the given group key
$fields = acf_get_local_fields($group['key']);
// Remove unecessary key value pair with key "ID"
unset($group['ID']);
// Add the fields as an array to the group
$group['fields'] = $fields;
// Add this group to the main array
$json[] = $group;
}
$json = json_encode($json, JSON_PRETTY_PRINT);
// Optional - echo the JSON data to the page
echo "<pre>";
echo $json;
echo "</pre>";
// Write output to file for easy import into ACF.
// The file must be writable by the server process. In this case, the file is located in
// the current theme directory.
$file = get_template_directory() . '/acf-import.json';
file_put_contents($file, $json );
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment