Zapytania o dane wtyczekPolylang
Polylang
Przykłady queries do interakcji z danymi wtyczki Polylang.
Filtrowanie danych według języka
To zapytanie pobiera posty w wybranym języku:
{
posts(
filter: {
polylangLanguagesBy: {
codes: ["en"]
}
}
) {
title
polylangLanguage {
code
}
}
pages(
filter: {
polylangLanguagesBy: {
locales: ["en_US"]
}
}
) {
title
polylangLanguage {
locale
}
}
customPosts(
filter: {
polylangLanguagesBy: {
predefined: DEFAULT
}
customPostTypes: "some-cpt"
}
) {
title
polylangLanguage {
code
}
}
}To zapytanie pobiera różne encje dla wielu języków:
query FilterByLanguage($postId: ID!, $languageCodes: [String!]) {
posts(by: { id: $postId }, filter: {
polylangLanguagesBy: { codes: $languageCodes }
}) {
id
title
}
pages(by: { id: $postId }, filter: {
polylangLanguagesBy: { codes: $languageCodes }
}) {
id
title
}
customPosts(by: { id: $postId }, filter: {
customPostTypes: ["some-cpt"]
polylangLanguagesBy: { codes: $languageCodes }
}) {
id
title
}
postCategories(by: { id: $postId }, filter: {
polylangLanguagesBy: { codes: $languageCodes }
}) {
id
name
}
postTags(by: { id: $postId }, filter: {
polylangLanguagesBy: { codes: $languageCodes }
}) {
id
name
}
categories(
by: { id: $postId },
taxonomy: "some-category"
filter: { polylangLanguagesBy: { codes: $languageCodes } }
) {
id
name
}
tags(
by: { id: $postId },
taxonomy: "some-tag"
filter: { polylangLanguagesBy: { codes: $languageCodes } }
) {
id
name
}
mediaItems(by: { id: $postId }, filter: {
polylangLanguagesBy: { codes: $languageCodes }
}) {
id
title
}
}Ustawianie języka dla encji
To zapytanie definiuje język dla 3 postów (angielski, hiszpański i francuski), a następnie określa, że te 3 posty są wzajemnymi tłumaczeniami:
mutation {
post1: polylangSetCustomPostLanguage(input: {id: 1, languageBy: { code: "en" }}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
}
post2: polylangSetCustomPostLanguage(input: {id: 2, languageBy: { code: "es" }}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
}
post3: polylangSetCustomPostLanguage(input: {id: 3, languageBy: { code: "fr" }}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
}
polylangSaveCustomPostTranslationAssociation(input: {
ids: [1, 2, 3]
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
}
}Next