đ Du kannst jetzt Meta-Werte in Gato GraphQL mutieren
v11.3 von Gato GraphQL wurde heute veröffentlicht, mit UnterstĂŒtzung fĂŒr eine wichtige Funktion: Meta-Mutationen!
Du kannst jetzt Meta-Werte hinzufĂŒgen, aktualisieren und löschen, fĂŒr Custom Posts, Tags, Kategorien, Kommentare und Benutzer.
Im Folgenden findest du Beispiele fĂŒr queries, die Meta mutieren.
Meta hinzufĂŒgen
Du kannst Meta-EintrĂ€ge zu Custom Posts, Tags, Kategorien, Kommentaren und Benutzern hinzufĂŒgen.
Diese query fĂŒgt einen Meta-Eintrag zum Beitrag mit der ID 4 hinzu:
mutation {
addCustomPostMeta(input: {
id: 4
key: "some_key"
value: "Some value"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
customPost {
id
metaValue(key: "some_key")
}
}
}Diese query fĂŒgt denselben Meta-SchlĂŒssel mit verschiedenen Werten zu verschiedenen BeitrĂ€gen hinzu, in einem Batch:
mutation {
addCustomPostMetas(inputs: [
{
id: 4
key: "some_key"
value: "Some value"
},
{
id: 5
key: "some_key"
value: "Some other value"
},
{
id: 6
key: "some_key"
value: "Yet another value"
}
]) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
customPost {
id
metaValue(key: "some_key")
}
}
}Meta aktualisieren
Einen Kategorie-Meta-Eintrag aktualisieren:
mutation {
updateCategoryMeta(input: {
id: 20
key: "_source"
value: "Updated source value"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
category {
__typename
id
metaValue(key: "_source")
}
}
}Diese query verwendet nested mutations, um einen Meta-Wert in einem Beitrag zu aktualisieren:
mutation {
post(by: {id: 1}) {
updateMeta(input: {
key: "some_key"
value: "Updated description"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
metaValue(key: "single_meta_key")
}
}
}
}Meta löschen
Einen Meta-Eintrag aus einem Beitrag löschen:
mutation {
deletePostMeta(input: {
id: 5
key: "some_key"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
metaValue(key: "some_key")
}
}
}Denselben Meta-Eintrag aus mehreren BeitrÀgen löschen, in einem Batch:
mutation {
deletePostMetas(inputs: [
{
id: 5
key: "some_key"
},
{
id: 6
key: "some_key"
}
]) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
metaValue(key: "some_key")
}
}
}Mehrere Meta-EintrÀge auf einmal setzen
Du kannst mehrere Meta-EintrĂ€ge auf einmal setzen, indem du ein JSON an die verschiedenen set{Entity}Meta-Mutationen ĂŒbergibst:
mutation {
setCustomPostMeta(input: {
id: 4
entries: {
single_meta_key: [
"This is a single entry",
],
object_meta_key: [
{
key: "This is a key",
value: "This is a value",
},
],
array_meta_key: [
"This is a string",
"This is another string",
],
object_array_meta_key: [
[
{
key: "This is a key 1",
value: "This is a value 1",
},
{
key: "This is a key 2",
value: "This is a value 2",
},
]
],
}
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
customPost {
id
meta(keys: ["single_meta_key", "object_meta_key", "array_meta_key", "object_array_meta_key"])
}
}
}Meta-EintrÀge beim Erstellen/Aktualisieren einer EntitÀt setzen
Du kannst Meta-EintrĂ€ge direkt beim Erstellen oder Aktualisieren eines Custom Posts, Tags, einer Kategorie oder eines Kommentars ĂŒber den Parameter meta definieren.
Diese query setzt Meta beim HinzufĂŒgen eines Kommentars:
mutation {
addCommentToCustomPost(input: {
customPostID: 1130
commentAs: { html: "New comment" }
meta: {
some_meta_key: [
"This is a single entry",
],
another_meta_key: [
"This is an array entry 1",
"This is an array entry 2",
],
}
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
comment {
id
meta(keys: ["some_meta_key", "another_meta_key"])
}
}
}Diese query injiziert das Meta in die nested mutation Post.update:
mutation {
post(by: {id: 1}) {
update(input: {
meta: {
single_meta_key: [
"This is an updated value",
]
}
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
metaValue(key: "single_meta_key")
}
}
}
}