⭐️ Sortie v2.6 avec la nouvelle extension MultilingualPress (pour les sites multilingues)
Gato GraphQL v2.6 a été publié, contenant plusieurs nouvelles fonctionnalités. Consultez les notes de release sur GitHub pour la liste complète des changements.
Voici les ajouts les plus importants.
[PRO] Ajout de l'intégration avec MultilingualPress
Gato GraphQL PRO dispose désormais d'une intégration avec le plugin MultilingualPress.
Avec la nouvelle extension MultilingualPress, le schéma GraphQL se voit doté des champs pour récupérer des données multilingues.
Par exemple, vous pouvez maintenant exécuter cette requête :
query {
posts {
multilingualpressTranslationConnections {
...MultilingualPressConnectionData
}
categories {
multilingualpressTranslationConnections {
...MultilingualPressConnectionData
}
}
tags {
multilingualpressTranslationConnections {
...MultilingualPressConnectionData
}
}
}
pages {
multilingualpressTranslationConnections {
...MultilingualPressConnectionData
}
}
customPosts(filter: { customPostTypes: "some-cpt" }) {
__typename
...on GenericCustomPost {
multilingualpressIsTranslatable
multilingualpressTranslationConnections {
...MultilingualPressConnectionData
}
categories(taxonomy: "some-category") {
__typename
...on GenericCategory {
multilingualpressIsTranslatable
multilingualpressTranslationConnections {
...MultilingualPressConnectionData
}
}
}
tags(taxonomy: "some-tag") {
__typename
...on GenericTag {
multilingualpressIsTranslatable
multilingualpressTranslationConnections {
...MultilingualPressConnectionData
}
}
}
}
}
}
fragment MultilingualPressConnectionData {
siteID
entityID
}Avec cet ajout, nous pouvons utiliser Gato GraphQL pour traduire automatiquement des posts pour le plugin MultilingualPress, et stocker ces traductions dans les sites correspondants dans le réseau WordPress multisite.
Regardez la vidéo de démonstration Automatically translating posts for MultilingualPress (on a WordPress multisite network) pour voir comment cela fonctionne :
[PRO] Ajout du champ _strRegexFindMatches
Le champ _strRegexFindMatches a été ajouté au schéma GraphQL (sous l'extension PHP Functions via Schema).
Ce champ exécute une expression régulière pour extraire toutes les correspondances d'une chaîne. Par exemple, l'exécution de cette requête :
query {
_strRegexFindMatches(
regex: "/https?:\\/\\/([a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\\.[a-zA-Z]{2,})/",
string: "In website https://gatographql.com there is more information"
)
}...produira :
{
"data": {
"_strRegexFindMatches": [
[
"https:\/\/gatographql.com"
],
[
"gatographql.com"
]
]
}
}Avec cet ajout, nous pouvons utiliser Gato GraphQL pour extraire les chaînes vides d'un fichier Poedit, les traduire dans n'importe quelle langue, et créer le fichier Poedit correspondant pour cette langue.
Regardez la vidéo de démonstration Translating all strings in a Poedit file for any language pour voir comment cela fonctionne :
Ajout du champ siteURL
Le champ suivant a été ajouté au schéma GraphQL, via le module « Site » :
Root.siteURL
Par exemple, l'exécution de la requête suivante :
query {
siteURL
}...produira :
{
"data": {
"siteURL": "https://mysite.com"
}
}Ajout de champs pour récupérer les données du multisite
Le schéma GraphQL prend désormais en charge la récupération de données depuis un réseau WordPress multisite, fournie via le nouveau module « Multisite ».
Ce module ajoute les champs suivants au schéma GraphQL :
Root.networkSitesRoot.networkSiteCount
Le champ networkSites retourne un tableau avec tous les sites du réseau, chacun du nouveau type NetworkSite, qui contient les champs suivants :
idnameurllocalelanguage
Ces champs ne sont activés que lorsque le multisite est activé (c'est-à-dire lorsque la méthode is_multisite() retourne true).
Par exemple, l'exécution de la requête suivante :
query {
networkSiteCount
networkSites {
id
name
url
locale
language
}
}pourrait retourner :
{
"data": {
"networkSiteCount": 3,
"networkSites": [
{
"id": 1,
"name": "Site in English",
"url": "https://mymultisite.com",
"locale": "en_US",
"language": "en"
},
{
"id": 2,
"name": "Site in Spanish",
"url": "https://es.mymultisite.com",
"locale": "es_AR",
"language": "es"
},
{
"id": 3,
"name": "Site in French",
"url": "https://fr.mymultisite.com",
"locale": "fr_FR",
"language": "fr"
}
]
}
}Ajout de persisted queries prédéfinies
Les persisted queries suivantes ont été ajoutées à Gato GraphQL :
- [PRO] Translate posts for MultilingualPress (Gutenberg)
- [PRO] Translate posts for MultilingualPress (Classic editor)
- [PRO] Translate Poedit file content
[PRO] Ajout de règles d'automatisation
Les règles d'automatisation suivantes ont été ajoutées à Gato GraphQL PRO :
- MultilingualPress : Lors de la publication d'un post, le traduire dans toutes les langues (Gutenberg)
- MultilingualPress : Lors de la publication d'un post, le traduire dans toutes les langues (Éditeur classique)