WP GraphQL
前提知識:ヘッドレスCMSとは
ヘッドレスCMSは通常のCMSとは異なり、フロントエンドとバックエンドが完全に切り離されている
CMSでテキストや画像などのデザインを作った後、それをNext.jsなどでHTMLファイルに変換し、
別のバックエンドサーバーにファイルを保管する仕組み
GraphQLとは
GraphQL=APIのQueryLanguage
クエリは問い合わせという意味であり、
GraphQLはAPIでアプリからデータを問い合わせ(取得)するための言語である
※APIとはレストランにおけるウェイターのこと。お客【クライアント)から注文を受けて、厨房(アプリ)にそれを伝えて、厨房でできた料理をお客に届ける。GraphQLとは、ウェイターがどういう風に動いてほしいか指示するための言語
WP GraphQLとは
WordPress Rest APIの強化版のプラグイン
REST APIでWordPressのデータをJSON化してもいいけど、
WordPressをヘッドレスCMS化するなら、今はGraphQLが主流らしい
REST APIとGraphQLの違い
GraphQLはquery{} をカスタマイズすることで、必要なデータのみを取得することができる。
REST APIは不必要なデータまで取得してしまう
なぜWP GraphQLを使おうと思ったか
microCMSは無料だとデータ転送量20GBの制限があり、月額5000円課金しても月額200GBしか転送できない
自分の画像動画サイトは先月2万GBあったので、サイト利用者が増えてきたら200GBじゃ足りないなと思い、なるべく安く済ませたいなと調べてたらWP GraphQLに行き着いた
使い方
プラグインをインストールしたらGraphQL IDEというものがWordPress管理画面に表示される
GraphQL IDEのQuery Composerを開いて、左のメニューからposts > edges > node をチェックする
その中で取得したい項目(タイトルや内容、アイキャッチ画像やスラッグ等)を選ぶ
そして右上の再生ボタンを押すとJSON形式でデータを取得できる
(https://zenn.dev/fbd_tech/books/519201590c4e98/viewer/6f3693)
Next.js側でWordpressのデータを取得する
(https://neightbor.jp/blog/nextjs-and-wordpress)
(https://kumatech-lab.com/wpgraphql)
純粋なGraphQLでデータ取得
(https://www.youtube.com/watch?v=u8vD2NESjC0)
BACK