WordPress verilerini sorgulaÖzel İçerikler
Özel İçerikler
Daha fazla bilgi için Özel İçeriklerle Çalışma kılavuzunu okuyun.
Bunlar özel içerik verilerini getirmek için queries örnekleridir.
Şemaya eşlenmiş CPT'ler
"post" ve "page" CPT'leri ile özel içerikleri getirin:
query {
customPosts(filter: { customPostTypes: ["post", "page"] }) {
...CustomPostProps
...PostProps
...PageProps
}
}
fragment CustomPostProps on CustomPost {
__typename
title
excerpt
url
dateStr(format: "d/m/Y")
}
fragment PostProps on Post {
tags {
id
name
}
}
fragment PageProps on Page {
author {
id
name
}
}Şemaya eşlenmemiş CPT'ler
Çeşitli CPT'ler için özel içerikleri getirin (Ayarlar aracılığıyla sorgulanabilir olmaları için etkinleştirilmiş olmaları gerekir):
query {
customPosts(
filter:{
customPostTypes: [
"page",
"nav_menu_item",
"wp_block",
"wp_global_styles"
]
}
) {
... on CustomPost {
id
title
customPostType
status
}
__typename
}
}CPT'leri özel bir taksonomiye göre filtreleme
Kategoriye göre filtreleyerek özel içerikleri getirin:
query {
customPosts(
filter: {
categories: {
includeBy: {
ids: [26, 28]
}
taxonomy: "product-cat"
}
}
) {
... on CustomPost {
id
title
}
... on GenericCustomPost {
categories(taxonomy: "product-cat") {
id
}
}
}
}Özel içerik oluşturma
Bir Post'tan fazladan alan gerektirmeyen CPT'ler oluşturmak için createCustomPost mutation'ını kullanabilirsiniz.
Bu query, "my-portfolio" CPT'si için bir kayıt oluşturur:
mutation {
createCustomPost(
input: {
customPostType: "my-portfolio"
title: "My photograph"
contentAs: { html: "This is my photo, check it out." }
}
) {
status
errors {
__typename
...on ErrorPayload {
message
}
...on GenericErrorPayload {
code
}
}
customPost {
__typename
...on CustomPost {
id
title
content
}
}
}
}Özel içerik güncelleme
Bu query, "my-portfolio" CPT'si için başlık ve içeriği günceller:
mutation {
updateCustomPost(input: {
id: 1
customPostType: "my-portfolio"
title: "Updated title"
contentAs: { html: "Updated content" }
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
customPost {
__typename
...on CustomPost {
id
title
content
}
}
}
}Ya da iç içe mutations kullanarak:
mutation {
customPost(by: { id: 1 }, customPostTypes: "my-portfolio") {
originalTitle: title
update(input: {
title: "This is my new title",
contentAs: { html: "This rocks!" }
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
customPost {
__typename
...on CustomPost {
id
newTitle: title
content
}
}
}
}
}Prev
Next