15
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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の値が取得できるようになります。

15
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?