⭐️ Rilasciata la v2.6 con la nuova estensione MultilingualPress (per siti multilingue)
Gato GraphQL v2.6 è stato rilasciato, con diverse nuove funzionalità. Consulta le note di rilascio su GitHub per l'elenco completo delle modifiche.
Di seguito sono riportate le aggiunte più importanti.
[PRO] Aggiunta l'integrazione con MultilingualPress
Gato GraphQL PRO dispone ora di un'integrazione con il plugin MultilingualPress.
Con la nuova estensione MultilingualPress, lo schema GraphQL viene dotato dei campi per recuperare dati multilingue.
Ad esempio, ora puoi eseguire questa query:
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
}Con questa aggiunta, possiamo usare Gato GraphQL per tradurre automaticamente i post per il plugin MultilingualPress e memorizzare quelle traduzioni nei siti corrispondenti all'interno della rete multisito di WordPress.
Guarda il video dimostrativo Automatically translating posts for MultilingualPress (on a WordPress multisite network) per vedere come funziona:
[PRO] Aggiunto il campo _strRegexFindMatches
Il campo _strRegexFindMatches è stato aggiunto allo schema GraphQL (sotto l'estensione PHP Functions via Schema).
Questo campo esegue un'espressione regolare per estrarre tutte le corrispondenze da una stringa. Ad esempio, eseguendo questa query:
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"
)
}...produrrà:
{
"data": {
"_strRegexFindMatches": [
[
"https:\/\/gatographql.com"
],
[
"gatographql.com"
]
]
}
}Con questa aggiunta, possiamo usare Gato GraphQL per estrarre le stringhe vuote da un file Poedit, tradurle in qualsiasi lingua e creare il file Poedit corrispondente per quella lingua.
Guarda il video dimostrativo Translating all strings in a Poedit file for any language per vedere come funziona:
Aggiunto il campo siteURL
È stato aggiunto il seguente campo allo schema GraphQL, tramite il modulo "Site":
Root.siteURL
Ad esempio, eseguendo la seguente query:
query {
siteURL
}...produrrà:
{
"data": {
"siteURL": "https://mysite.com"
}
}Aggiunti campi per recuperare i dati del multisito
Lo schema GraphQL ora supporta il recupero di dati da una rete multisito di WordPress, fornito tramite il nuovo modulo "Multisite".
Questo modulo aggiunge i seguenti campi allo schema GraphQL:
Root.networkSitesRoot.networkSiteCount
Il campo networkSites restituisce un array con tutti i siti della rete, ciascuno del nuovo tipo NetworkSite, che contiene i seguenti campi:
idnameurllocalelanguage
Questi campi sono abilitati solo quando il multisito è abilitato (ovvero quando il metodo is_multisite() restituisce true).
Ad esempio, eseguendo la seguente query:
query {
networkSiteCount
networkSites {
id
name
url
locale
language
}
}potrebbe restituire:
{
"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"
}
]
}
}Aggiunte persisted queries predefinite
Le seguenti persisted queries sono state aggiunte a Gato GraphQL:
- [PRO] Translate posts for MultilingualPress (Gutenberg)
- [PRO] Translate posts for MultilingualPress (Classic editor)
- [PRO] Translate Poedit file content
[PRO] Aggiunte regole di automazione
Le seguenti regole di automazione sono state aggiunte a Gato GraphQL PRO:
- MultilingualPress: Quando si pubblica un post, tradurlo in tutte le lingue (Gutenberg)
- MultilingualPress: Quando si pubblica un post, tradurlo in tutte le lingue (Editor classico)