背景
開発機ではACFを編集できるようにしていたが、ステージング環境では操作できないようにエクスポートコードを設置していた。
にも関わらず、開発機のDBを削除してしまった…とか。
解決方法
下記のようなPHPを用意する
export_acf_json.php
<?php
require_once '../../../wp-config.php';
$array = [];
foreach (acf_get_local_field_groups() as $group)
{
$group['fields'] = acf_get_local_fields($group['key']);
$array[] = $group;
}
echo json_encode($array, JSON_PRETTY_PRINT);
require_once '../../../wp-config.php'
は設置場所によって書き換えること。この場合、独自のプラグインを作っていたので、その中に設置していた
このPHPファイルにブラウザでアクセスすればJSONが出力される。ファイルに保存し、ACFの管理画面からJSONをインポートすればOK。
参考サイト
このスレッドの末尾にコードがあったが、そのままだとJSONの体を成していないので、ちょっと加工した