Membuat persisted query
Persisted query adalah kombinasi dari API GraphQL dan REST: ini adalah query GraphQL biasa, dipublikasikan di situs dan diakses melalui URL-nya sendiri, mirip dengan endpoint REST.
Misalnya, kita dapat mengekspos data untuk sebuah website melalui persisted query berikut:
/graphql-query/homepage-posts/graphql-query/user-widget/graphql-query/post-contentdan menjalankannya dengan meneruskan ID postingan:?post=1/graphql-query/post-content/esuntuk menerjemahkan konten postingan ke bahasa Spanyol- Lainnya

Menjalankan persisted query
Setelah persisted query dipublikasikan, kita dapat menjalankannya melalui permalinknya.
Persisted query dapat dijalankan langsung di browser, karena diakses melalui GET, dan kita akan mendapatkan data yang diminta dalam format JSON:

Menjalankan persisted query dalam sebuah aplikasi
Silakan ikuti instruksi pada panduan Menghubungkan ke server GraphQL dari klien.
Mengakses semua persisted query
Mengklik "Persisted Queries" pada menu plugin akan menampilkan daftar semua persisted query yang telah dibuat:

Membuat persisted query baru
Klik tombol "Add New GraphQL persisted query" untuk membuka editor WordPress:

Berikan judul dan pastikan permalink sesuai yang diharapkan, masukkan query GraphQL, pilih konfigurasi skema, dan sesuaikan opsinya. Setelah siap, klik tombol Publish, dan permalink menjadi endpoint dari persisted query.
Tautan ke endpoint (dan ke sumber) ditampilkan pada panel sidebar "Persisted Query Endpoint Overview":

Secara default, endpoint persisted query memiliki path /graphql-query/, dan nilai ini dapat dikonfigurasi melalui Pengaturan:

Editor query
Klien GraphiQL di editor adalah tempat untuk memasukkan persisted query GraphQL:

Editor dilengkapi dengan add-on Explorer, yang memungkinkan untuk menyusun query dengan mengklik field di panel sisi kiri. Mengklik tombol "Run" akan menjalankan query, untuk melihat pratinjau responnya:

Konfigurasi skema
Mendefinisikan siapa yang dapat mengakses field yang diminta dalam persisted query ditentukan dalam konfigurasi skema.
Jadi kita harus membuat konfigurasi skema, lalu memilihnya dari dropdown (atau tidak menggunakan konfigurasi, atau menggunakan yang default):

Persisted query privat
Dengan mengatur status Persisted Query sebagai private, endpoint hanya dapat diakses oleh pengguna admin. Ini mencegah data kita dibagikan secara tidak sengaja kepada pengguna yang seharusnya tidak memiliki akses ke data tersebut.
Misalnya, kita dapat membuat Persisted Query privat yang membantu mengelola aplikasi, seperti mengambil data untuk membuat laporan dengan metrik kita.

Persisted query yang dilindungi kata sandi
Jika kita membuat Persisted Query untuk klien tertentu, kita dapat menetapkan kata sandi untuknya, untuk memberikan tingkat keamanan tambahan sehingga hanya klien tersebut yang dapat mengakses endpoint.

Saat pertama kali mengakses persisted query yang dilindungi kata sandi, kita akan menemui layar yang meminta kata sandi:

Setelah kata sandi diberikan dan divalidasi, barulah pengguna dapat mengakses endpoint yang dituju.
Membuat persisted query dinamis melalui parameter URL
Nilai untuk setiap variabel dapat diatur melalui parameter URL (dengan nama variabel) saat menjalankan persisted query. Jika opsi "Do URL params override variables?" diaktifkan, maka parameter URL akan diprioritaskan. Jika tidak, nilai yang ditentukan dalam kamus variabel akan diprioritaskan (jika ada).
Misalnya, dalam query ini, jumlah hasil dikontrol melalui variabel $limit, dengan nilai default 3:

Saat menjalankan persisted query ini, meneruskan ?limit=5 akan menjalankan query yang mengembalikan 5 hasil:

Membuat hierarki persisted query
Silakan baca instruksi tentang membuat hierarki API.
Menonaktifkan persisted query
Pada opsi, atur "Enabled" ke false untuk menonaktifkan persisted query.
Fitur ini dapat berguna saat membuat persisted query menjadi bagian dari hierarki API, untuk memberikan perilaku umum kepada persisted query anaknya, tetapi tanpa perlu dijalankan sendiri.
Mendeskripsikan persisted query
Gunakan field "Excerpt", dari panel pengaturan Dokumen, untuk memberikan deskripsi pada persisted query.
Temukan informasi lebih lanjut dalam panduan Menambahkan deskripsi ke API.
Menguji persisted query sebelum dipublikasikan secara online
Persisted query dengan status draft atau pending hanya tersedia bagi pengguna editor skema.
Kemudian, kita dapat membuat persisted query, menetapkan Konfigurasi Skema, mempublikasikannya sebagai draft atau pending, dan mengujinya (misalnya: memeriksa apakah aturan Access Control-nya sudah sesuai).
Setelah disetujui, barulah kita mengatur statusnya sebagai publish, membuat persisted query tersedia untuk semua orang.
Melihat sumber
Menambahkan ?view=source ke endpoint akan menampilkan konfigurasi persisted query (selama pengguna sudah login dan peran pengguna memiliki akses ke sana):

Konfigurasi di editor WordPress
Berikut adalah input di bagian body editor:
| Input | Deskripsi |
|---|---|
| Title | Judul persisted query |
| Klien GraphiQL | Editor untuk menulis dan menjalankan query GraphQL:
GraphiQL Explorer diaktifkan) memungkinkan untuk mengklik field, dan field tersebut secara otomatis ditambahkan ke query |
| Konfigurasi skema | Dari dropdown, pilih konfigurasi skema yang berlaku untuk persisted query, atau salah satu opsi berikut:
|
| Opsi | Sesuaikan perilaku persisted query:
|
Berikut adalah input di pengaturan Dokumen:
| Input | Deskripsi |
|---|---|
| Permalink | Endpoint tempat persisted query akan tersedia |
| Categories | Dapat mengkategorikan persisted query. Misalnya: mobile, app, dll |
| Excerpt | Berikan deskripsi untuk persisted query. Input ini tersedia ketika modul Excerpt as Description diaktifkan |
| Page attributes | Pilih persisted query induk. Input ini tersedia ketika modul API Hierarchy diaktifkan |