WordPressで作ったWebサイトのカテゴリーの情報をJSONで取得する方法について勉強しました。もし興味のある方がいらっしゃいましたらご参考ください。
ちなみに、投稿の情報をJSONで取得する方法についても勉強して、以下のページに書いています。あわせてご参考いただけますと嬉しいです。
WordPressの「WP REST API」を使ってカテゴリーの情報をJSONで取得する方法
例えば、WebサイトのURLが以下だったとします。
https://local.imamura.biz/blog/
このURLのカテゴリーの情報をJSONで取得するには、以下のURLにアクセスするとできます。
https://local.imamura.biz/blog/wp-json/wp/v2/categories
ポイントはURLに「wp-json/wp/v2/categories」を付与しているところですね。
取得したJSON(一例です)
カテゴリーのIDや抜粋、カテゴリーのアーカイブページのURLなど取得できました。
[{"id":24,"count":1,"description":"","link":"https:\/\/local.imamura.biz\/blog\/category\/web\/dev-plugin","name":"devplugin","slug":"dev-plugin","taxonomy":"category","parent":18,"meta":{},"_links":{"self":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories\/24"}],"collection":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories"}],"about":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/taxonomies\/category"}],"up":[{"embeddable":true,"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories\/18"}],"wp:post_type":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/posts?categories=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":19,"count":1,"description":"\u8aac\u660e\u8aac\u660e","link":"https:\/\/local.imamura.biz\/blog\/category\/facebook","name":"facebook","slug":"facebook","taxonomy":"category","parent":0,"meta":{},"_links":{"self":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories\/19"}],"collection":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories"}],"about":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/taxonomies\/category"}],"wp:post_type":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/posts?categories=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":23,"count":1,"description":"","link":"https:\/\/local.imamura.biz\/blog\/category\/web\/jimdo" ...以下省略
応用:カテゴリーに所属している投稿が多い順に取得する
URLクエリパラメーターを付与してあげると、取得できる条件を変更できます。
例えば、カテゴリーに所属している投稿が多い順に取得するには以下のURLにアクセスするとできます。
https://local.imamura.biz/blog/wp-json/wp/v2/categories?orderby=count&order=desc
ポイントはURLに「wp-json/wp/v2/categories」を付与して、さらにURLクエリパラメーター「orderby」と「order」を付与しているところですね。
取得したJSON(一例です)
[{"id":18,"count":4,"description":"","link":"https:\/\/local.imamura.biz\/blog\/category\/web","name":"Web\u5168\u822c","slug":"web","taxonomy":"category","parent":0,"meta":{},"_links":{"self":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories\/18"}],"collection":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories"}],"about":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/taxonomies\/category"}],"wp:post_type":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/posts?categories=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":1,"count":2,"description":"","link":"https:\/\/local.imamura.biz\/blog\/category\/museum","name":"\u7f8e\u8853\u9928","slug":"museum","taxonomy":"category","parent":0,"meta":{},"_links":{"self":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories\/1"}],"collection":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/categories"}],"about":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/taxonomies\/category"}],"wp:post_type":[{"href":"https:\/\/local.imamura.biz\/blog\/wp-json\/wp\/v2\/posts?categories=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":2,"count":2,"description": ...以下省略
まとめ
「カテゴリーの一覧」という使い方ができるJSONで、とても便利だと思います。
このページに書いてあることはほんの一部で、取得できるJSONや付与できるURLクエリパラメーターは他にもあります。詳しくはリファレンスをご参考ください。
このページを共有する