WP-REST APIで個別投稿毎にカテゴリ名を取得する

More than 1 year has passed since last update.

wordpressのRest APIでカテゴリ名を取得する方法をメモ。

個別の投稿の情報はwp-json/wp/v2/postsから取得ができるのですが、カテゴリに関してはカテゴリIDしか取得できません。

そこで、公式ページのレスポンスを修正するを参考に、カテゴリ名を取得する関数をfunctions.phpに追加します。


functions.php

//カテゴリ名を取得する関数を登録

add_action( 'rest_api_init', 'register_category_name' );

function register_category_name() {
//register_rest_field関数を用いget_category_name関数からカテゴリ名を取得し、追加する
register_rest_field( 'post',
'category_name',
array(
'get_callback' => 'get_category_name'
)
);
}

//$objectは現在の投稿の詳細データが入る
function get_category_name( $object ) {
$category = get_the_category($object[ 'id' ]);
$cat_name = $category[0]->cat_name;
return $cat_name;
}


その後、http://[yourdomain]/wp-json/wp/v2/postにアクセスするとcategory_nameの値が取得できるようになります。