Requêter les données des pluginsPolylang
Polylang
Exemples de requêtes pour interagir avec les données du plugin Polylang.
Filtrer les données par langue
Cette requête récupère les publications dans la langue sélectionnée :
{
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
}
}
}Cette requête récupère différentes entités pour plusieurs langues :
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
}
}Définir la langue pour une entité
Cette requête définit la langue pour 3 publications (en anglais, espagnol et français), puis définit que ces 3 publications sont des traductions les unes des autres :
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