WordPress覚書 その4「カスタム投稿(ACF値追加あり)をREST APIで受け取る」
/ 2017.02.03 /
WEB /
2017年に入り、Wordpressの今後の展開が発表となった。
今後はREST API含めたJSへの移行(移植)が加速していくと思われるので、
REST APIを利用した値の取得は必ず必要となってくると思う。
今まではベータ扱いだったWP REST APIもver.4.7から標準搭載となったので、
積極的に活用していきたいところ。
実装要件
カスタム投稿(ACF値追加あり)をREST APIで受け取る
環境構築
- WordPress ver.4.7以上をインストール or プラグイン
WP REST API
をインストール - プラグイン
AdvancedCustomField
をインストール - プラグイン
ACF to REST API
をインストール ※インスト―ルしないとACFの値が反映されない
カスタム投稿の登録
カスタム投稿をfunction.phpに定義する際に、数行付け加える
register_post_type( 'works',
array(
'labels' => array(
'name' => __( '作品紹介' ),
'singular_name' => __( '作品紹介' )
),
'public' => true,
'supports' => array( 'title', 'author', 'thumbnail', 'excerpt', 'custom-fields' ,'comments' ),
'menu_position' => 110,
'capability_type' => page,
'hierarchical' => true,
'has_archive' => true,
'show_in_rest' => true, //追加
'rest_base' => 'works' //追加
)
);
show_in_rest
true
にすることで本カスタム投稿をREST APIで取得することができる。(デフォルトはfalse
となっている)
rest_base
REST APIのURLに含める文字列の指定。
アクセスしてみる
上記の例の場合、http://www.sample.com/wp-json/wp/v2/works
で取得することができる。
ACFという項目でばっちり値が入っていた。