Query data WordPressHalaman
Halaman
Berikut adalah contoh query untuk mengambil data halaman.
Mengambil halaman
Satu halaman:
query {
page(by: { id: 2 }) {
id
title
content
url
date
}
}Daftar halaman:
query {
pages(pagination: { limit: 5 }) {
id
title
excerpt
url
dateStr(format: "d/m/Y")
}
}Halaman tingkat atas beserta anak-anaknya:
query {
pages(filter: { parentID: 0 }) {
...PageProps
children {
...PageProps
children(pagination: { limit: 3 }) {
...PageProps
}
}
}
}
fragment PageProps on Page {
id
title
date
urlPath
}Mengambil halaman milik pengguna yang sedang login
Field page, pages, dan pageCount hanya mengambil halaman dengan status "publish".
Untuk mengambil halaman milik pengguna yang sedang login, dengan status apa pun ("publish", "pending", "draft", atau "trash"), gunakan field berikut:
myPagemyPagesmyPageCount
query {
myPages(filter: { status: [draft, pending] }) {
id
title
status
}
}Membuat halaman
Hanya pengguna yang sudah login yang dapat membuat halaman.
mutation {
createPage(
input: {
title: "Hi there!"
contentAs: { html: "How do you like it?" }
status: draft
}
) {
status
errors {
__typename
...on ErrorPayload {
message
}
...on GenericErrorPayload {
code
}
}
pageID
page {
status
title
content
url
date
author {
id
name
}
}
}
}Memperbarui halaman
Hanya pengguna dengan kemampuan yang sesuai yang dapat mengedit halaman.
mutation {
updatePage(
input: {
id: 2,
title: "This is my new title",
}
) {
status
errors {
__typename
...on ErrorPayload {
message
}
...on GenericErrorPayload {
code
}
}
page {
id
title
}
}
}Query ini menggunakan nested mutation untuk memperbarui halaman:
mutation {
page(by: { id: 2 }) {
originalTitle: title
update(input: {
title: "This is my new title",
contentAs: { html: "This rocks!" }
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
page {
newTitle: title
content
}
}
}
}