メニュー

【WordPress】投稿のREST APIに対しカスタムAPIを追加

例えばWordPress標準の記事に指定されたタクソノミー「test」をREST APIから取得する場合、そのままだとidしか取得できない。タームのスラッグや名前を取得できるようにするには、「register_rest_field」でカスタムAPIを追加する。

// -- カスタムAPI ------------------------------------
function custom_api__post_add_fields() {
  register_rest_field( 'post',
    'hoge_cat',
    array(
      'get_callback' => 'hoge__register_fields',
      'update_callback' => null,
      'schema' => null,
    )
  );
}
function hoge__register_fields( $post ) {
  return get_the_terms($post['id'], 'test');
}
add_action( 'rest_api_init', 'custom_api__post_add_fields' );

標準の投稿から出力されるREST APIには、新たにhoge_catを追加。
get_the_termsからタクソノミー「test」の情報を取得する。