WordPressでカスタム投稿保存時に何かしらの情報をjsonファイルへ出力して保存する

Acfとカスタム投稿の組み合わせで使用
例えば、Acfを使い、カスタム投稿に品番と価格、色、サイズなどの一覧を持たせ、その組み合わせ一覧を取得、他の固定ページで加工したり計算したい。

そんな時、組み合わせが多すぎてレコードが何百行とかになったりしたときに、データをjsonにして保存し使用する固定ページからはファイル読み込みで使ったら楽なのでは?と思って作りました。

処理の流れ post_updated からのWP_Filesystem
1 functions.php に 記事更新のタイミングで呼ばれる処理を追加

2 $post_id を取得できるので、目的とするカスタム投稿かどうか判定

3 目的のカスタム投稿なら、WP_Filesystem() の put_contents() を使ってファイルを保存する

下記のコードの例では、

目的のカスタム投稿を判定は

$target_post_ID = 100; // custom post_id

で。

ファイルへのコンテンツの出力は 

$new_file_text = 'something here';

で代入。

保存先は

$path_name = get_template_directory() . '/js/test.json';

でテーマディレクトリの /js/ ディレクトリへ配置している。

ご相談・お問合せ

お気軽にどうぞ。