パーシストクエリの作成
パーシストクエリはGraphQLとREST APIを組み合わせたものです。通常のGraphQLクエリをサイトに公開し、RESTエンドポイントと同様に独自のURLでアクセスできます。
たとえば、以下のようなパーシストクエリを通じてウェブサイトのデータを公開できます。
/graphql-query/homepage-posts/graphql-query/user-widget/graphql-query/post-content(投稿のIDを渡して実行:?post=1)/graphql-query/post-content/es(投稿のコンテンツをスペイン語に翻訳)- その他

パーシストクエリの実行
パーシストクエリを公開すると、そのパーマリンクから実行できます。
パーシストクエリはGETでアクセスするため、ブラウザから直接実行でき、リクエストしたデータをJSON形式で取得できます。

アプリケーションからパーシストクエリを実行する
ガイド「クライアントからGraphQLサーバーへの接続」の手順に従ってください。
すべてのパーシストクエリへのアクセス
プラグインのメニューで「Persisted Queries」をクリックすると、作成済みのパーシストクエリの一覧が表示されます。

新しいパーシストクエリの作成
「Add New GraphQL persisted query」ボタンをクリックして、WordPressエディターを開きます。

タイトルを入力し、パーマリンクが想定通りであることを確認してから、GraphQLクエリを入力し、スキーマ設定を選択してオプションを調整します。準備ができたらPublishボタンをクリックすると、パーマリンクがパーシストクエリのエンドポイントになります。
エンドポイント(およびソース)へのリンクは、「Persisted Query Endpoint Overview」サイドバーパネルに表示されます。

デフォルトでは、パーシストクエリのエンドポイントのパスは/graphql-query/で、この値は設定から変更できます。

クエリエディター
エディター内のGraphiQLクライアントは、GraphQLパーシストクエリを入力する場所です。

エディターにはExplorerアドオンが付属しており、左側パネルのフィールドをクリックしてクエリを構成できます。「Run」ボタンをクリックするとクエリが実行され、レスポンスをプレビューできます。

スキーマ設定
パーシストクエリでリクエストされたフィールドへのアクセス権限は、スキーマ設定で定義します。
そのため、スキーマ設定を作成し、ドロップダウンから選択する必要があります(または「なし」もしくはデフォルトのものを使用できます)。

プライベートパーシストクエリ
パーシストクエリのステータスをprivateに設定すると、エンドポイントには管理者ユーザーのみがアクセスできます。これにより、アクセス権限のないユーザーにデータが意図せず共有されることを防ぎます。
たとえば、メトリクスのレポートを作成するためのデータ取得など、アプリケーション管理に役立つプライベートパーシストクエリを作成できます。

パスワード保護されたパーシストクエリ
特定のクライアント向けにパーシストクエリを作成する場合、パスワードを設定して、そのクライアントのみがエンドポイントにアクセスできるように追加のセキュリティレベルを提供できます。

パスワード保護されたパーシストクエリに初めてアクセスすると、パスワードを求める画面が表示されます。

パスワードが入力・検証されると、ユーザーは目的のエンドポイントにアクセスできます。
URLパラメーターによるパーシストクエリの動的化
パーシストクエリを実行する際、各変数の値をURLパラメーター(変数名を使用)で設定できます。「Do URL params override variables?」オプションが有効になっている場合、URLパラメーターが優先されます。無効の場合、変数辞書で定義された値が優先されます(存在する場合)。
たとえば、このクエリでは結果の件数を変数$limitで制御し、デフォルト値は3です。

このパーシストクエリを実行する際に?limit=5を渡すと、代わりに5件の結果を返すクエリが実行されます。

パーシストクエリ階層の作成
API階層の作成の手順をお読みください。
パーシストクエリの無効化
オプションで「Enabled」をfalseに設定すると、パーシストクエリを無効化できます。
この機能は、パーシストクエリをAPI階層の一部として使用し、子パーシストクエリに共通の動作を提供しつつ、自身は実行する必要がない場合に便利です。
パーシストクエリの説明
ドキュメント設定パネルの「Excerpt」フィールドを使用して、パーシストクエリに説明を追加します。
詳細はガイド「APIへの説明の追加」をご覧ください。
公開前のパーシストクエリのテスト
ステータスがdraftまたはpendingのパーシストクエリは、スキーマエディターユーザーのみが利用できます。
パーシストクエリを作成し、スキーマ設定を割り当て、draftまたはpendingとして公開してテストできます(例:アクセスコントロールルールが適切かどうかを確認する)。
承認後、ステータスをpublishに設定することで、パーシストクエリがすべてのユーザーに公開されます。
ソースの表示
エンドポイントに?view=sourceを追加すると、パーシストクエリの設定が表示されます(ユーザーがログインしており、ユーザーロールがアクセス権を持っている場合)。

WordPressエディターでの設定
エディター本文の入力項目は以下のとおりです。
| 入力項目 | 説明 |
|---|---|
| タイトル | パーシストクエリのタイトル |
| GraphiQLクライアント | GraphQLクエリを記述・実行するエディター:
GraphiQL Explorerが有効な場合にのみ表示)を使用すると、フィールドをクリックするだけでクエリに自動追加されます |
| スキーマ設定 | ドロップダウンから、パーシストクエリに適用するスキーマ設定、または以下のオプションのいずれかを選択します:
|
| オプション | パーシストクエリの動作をカスタマイズします:
|
ドキュメント設定の入力項目は以下のとおりです。
| 入力項目 | 説明 |
|---|---|
| パーマリンク | パーシストクエリが公開されるエンドポイント |
| カテゴリー | パーシストクエリを分類できます。 例: mobile、appなど |
| Excerpt | パーシストクエリの説明を入力します。 この入力はモジュール Excerpt as Descriptionが有効な場合に使用できます |
| ページ属性 | 親パーシストクエリを選択します。 この入力はモジュール API Hierarchyが有効な場合に使用できます |