Open2

Advanced Custom Fieldで作成したカスタムフィールドの定義をgit管理するには

uehara1414uehara1414

方針

https://www.advancedcustomfields.com/resources/local-json/
上記の記事に書いてある Synchronized JSON 機能を利用する形で良さそう。有料プラン不要。

あとやらないといけないこと

  • 本番環境のカスタムフィールドの定義を json に落とし込むようにする具体的な方法の確定
  • git管理したカスタムフィールドの定義の更新方法の流れのドキュメンテーション
  • 後から同じことをする人に向けてのハマりどころなどがあればまとめる
uehara1414uehara1414

本番環境のカスタムフィールドの定義を json に落とし込むには

テーマディレクトリの直下に acf-json ディレクトリを作成し、index.php をコミットして本番に反映すれば良い。

acf-json/group_5f911d6e03880.json といった名前で保存されいていく。 group_ に続くid?の決まり方はわからないため、本番環境のものをmasterとしたい。
その場合、acf-jsonをgit 管理下に置くために何らかのファイルを置いておく必要がある。(gitに詳しくないのでからディレクトリでもgit管理できるかもしれないが今は深追いしない)

以下のような index.php を acf-json 下に設置すればいい。

<?php
// Silence is golden.
?>

https://www.advancedcustomfields.com/resources/local-json/ の Security の章に上記の記述があり、ちょうど外部からjsonファイルへのアクセスを防げるため。

If you wish to hide your field group or field settings from the public, simply add an empty index.php file to your acf-json folder.