yuheijotaki.com

ACF オプションページのREST APIエンドポイント

f:id:jotaki:20191008144612p:plain

ACFオプションページのエンドポイントがうまくいかなかったのでメモ
公式ドキュメント: https://github.com/airesvsg/acf-to-rest-api
同じようなissue: https://github.com/airesvsg/acf-to-rest-api/issues/184

登録はfunctions.phpに通常通り記述

<?php
// ...
if( function_exists('acf_add_options_page') ) {
  $option_page = acf_add_options_page(array(
    'page_title' => 'PAGE-NAME',
    'menu_title' => 'PAGE-NAME',
    'menu_slug' => 'SLUG-NAME',
    'capability' => 'edit_posts',
    'redirect' => false
  ));
}
// ...

ドキュメントに /wp-json/acf/v3/options/{id}/ とあるので
https://{site_url}.com/wp-json/acf/v3/options/{id}/
を叩いてみても acf:{} と空が返ってくる...

こちら によると

/wp-json/acf/v3/options/{id}/
ではなく
/wp-json/acf/v3/options/options/
だとうまくいくとのこと。

https://{site_url}.com/wp-json/acf/v3/options/options/
が正解でちゃんと返ってきました。
ただこれだとすべてのオプションページのフィールドを含んでいるみたいです。
オプションページ登録部分が悪いのか、環境依存なのかは謎なままですがとりあえず取得まではこれでできるという感じでした。