【WordPress】高度な機能を活用する/REST APIを利用する

WordPress
WordPress
この記事は約5分で読めます。

こんにちは!

7月1日、月曜日。主に曇り。
最高気温29℃。ムシムシ蒸し暑い~。

とうとう7月になってしまいました。
今年も半分が一瞬で過ぎたか。はっや。。。

今年は梅雨らしい日が全然なかったな~。。🐌
なんか残念。

まいっか。
今日も続きをやっていきます。

教材は例のごとくこちら、

スポンサーリンク

 

いよいよ終盤になってきました。
今日からSEOも意識しつつ、記事書いてまいります。

 

CHAPTER8 高度な機能を活用する

 

SECTION02 REST APIを利用する

 

REST APIとは、WordPressのコンテンツやデータを簡単に取得・操作できるAPI。

 

そもそも「API」ってなんだっけ?

教えてCopilot!

APIとは、Application Programming Interfaceの略で、ソフトウェアやアプリケーションが他のソフトウェアやサービスと通信するための規則や手順のことを指します。APIは、プログラムが機能やデータを共有するための「橋渡し」の役割を果たします。

例えば、あるウェブサイトが天気予報の情報を表示したい場合、そのウェブサイトは天気予報サービスのAPIを使用して、天気のデータを取得し、そのデータをウェブサイト上で表示します。

このように、APIは異なるソフトウェア間で情報を共有し、連携するための重要なツールです。また、APIはソフトウェア開発においても、機能の再利用やモジュール化を可能にするため、非常に重要な役割を果たしています。

 

なるほど、つまり別のWebサイトの情報をAPIの仕組みで取得できるわけね。
そして、WordpressにおけるAPIをREST APIというわけね。

REST APIの図

※WebサイトのデータがJSON形式で提供される。

 

 

 

WordPressでは、REST APIはすぐに利用することが可能。
URLのドメインの後に「/wp-json/wp/v2/posts」をつけてアクセスしてみる。

 https://noplog.com/wp-json/wp/v2/posts

<アクセス画面>

最新の投稿データ(JSON形式)

 

特定のカテゴリーの投稿データを指定して取得することも可能

 

<投稿ID>

[形式]https://noplog.com/wp-json/wp/v2/posts/<id>
[例] https://noplog.com/wp-json/wp/v2/posts/1046

 

<カテゴリー指定>

[形式]https://noplog.com/wp-json/wp/v2/posts/?categories=<id>
[例] https://noplog.com/wp-json/wp/v2/posts/?categories=1

 

※パラメータについては公式サイトに記載されている。

REST API Handbook | Developer.WordPress.org
The WordPress REST API provides an interface for applications to interact with your WordPress site by sending and receiv...

 

さらっと見たけど、、、

 

ムズイ。。。

次いきます。
 

固定ページのデータを取得する場合は、「posts」を「pages」に変更するだけ。

 https://noplog.com/wp-json/wp/v2/pages

 

また、カスタム投稿タイプ「food」のJSONデータを取得する場合は、

 https://noplog.com/wp-json/wp/v2/food

 

なお、カスタム投稿タイプを「Custom Post Type UI」プラグインで作成した場合は、設定の中の「REST APIで表示」が『 True 』になっている必要があるので注意。

 

 

 

カスタムフィールドの値を取得できるようにするには、functions.phpで指定する必要がある。

 

<functions.phpに追記>

REST APIにカスタムフィールドの値を含ませる記述(functions.php)

 

実装!

 

・・・

 

変わらんな~。。。

https://noplog.com/wp-json/wp/v2/food で取得できるデータが、、、
実装前と後で変わらん。。。

 

わからん、ので次いきます。

 

 

 

WordPressは、初期状態でREST APIが動作する。
これを停止することも可能。

<functions.phpに追記>

REST APIを停止する記述(functions.php)

 

実装!

 

おっけーい!

 

一つ前の、カスタムフィールドの値が取得できなかった件、
原因わかりました。。。

テーマを切り替えてなかったためでした。。

 

通常運転のCocoonからfood-scienceに切り替えてませんでした。

もろもろ設定し直して確認すると、

「price」と「calorie」のデータが表示されるようになりました。

 

よっしゃー!

 

よしよし、着実に進んでおります。

かの天才打者イチローの言葉にある通り、

「小さいことを積み重ねることが、とんでもないところに行くただ一つの道」

イチロー選手の名言25選 努力を重ねた天才から学ぶ夢を叶えるヒント – NewSphere

 

焦らず地道に一歩ずつ進んでいきます。

 

うんうん。

 

ではでは、おわりまーす。

 

 

コメント

PAGE TOP
タイトルとURLをコピーしました