⭐️ Lançada a v2.6 com a nova extensão MultilingualPress (para sites multilinguais)
Gato GraphQL v2.6 foi lançado, trazendo diversas novas funcionalidades. Consulte as notas de lançamento no GitHub para a lista completa de alterações.
Abaixo estão as adições mais importantes.
[PRO] Adicionada integração com MultilingualPress
Gato GraphQL PRO agora possui uma integração com o plugin MultilingualPress.
Com a nova extensão MultilingualPress, o schema GraphQL recebe os campos para recuperar dados multilinguais.
Por exemplo, agora você pode executar esta 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
}Com essa adição, podemos usar o Gato GraphQL para traduzir posts automaticamente para o plugin MultilingualPress e armazenar essas traduções nos sites correspondentes na rede multisite do WordPress.
Assista ao vídeo demonstrativo Automatically translating posts for MultilingualPress (on a WordPress multisite network) para ver como funciona:
[PRO] Adicionado o campo _strRegexFindMatches
O campo _strRegexFindMatches foi adicionado ao schema GraphQL (na extensão PHP Functions via Schema).
Este campo executa uma expressão regular para extrair todas as correspondências de uma string. Por exemplo, executando esta 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"
)
}...irá produzir:
{
"data": {
"_strRegexFindMatches": [
[
"https:\/\/gatographql.com"
],
[
"gatographql.com"
]
]
}
}Com essa adição, podemos usar o Gato GraphQL para extrair as strings vazias de um arquivo Poedit, traduzi-las para qualquer idioma e criar o arquivo Poedit correspondente para aquele idioma.
Assista ao vídeo demonstrativo Translating all strings in a Poedit file for any language para ver como funciona:
Adicionado o campo siteURL
O seguinte campo foi adicionado ao schema GraphQL, por meio do módulo "Site":
Root.siteURL
Por exemplo, executando a seguinte query:
query {
siteURL
}...irá produzir:
{
"data": {
"siteURL": "https://mysite.com"
}
}Adicionados campos para buscar dados do multisite
O schema GraphQL agora suporta a busca de dados de uma rede multisite do WordPress, fornecida pelo novo módulo "Multisite".
Este módulo adiciona os seguintes campos ao schema GraphQL:
Root.networkSitesRoot.networkSiteCount
O campo networkSites retorna um array com todos os sites da rede, cada um do novo tipo NetworkSite, que contém os seguintes campos:
idnameurllocalelanguage
Esses campos só são habilitados quando o multisite está ativo (ou seja, quando o método is_multisite() retorna true).
Por exemplo, executando a seguinte query:
query {
networkSiteCount
networkSites {
id
name
url
locale
language
}
}pode retornar:
{
"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"
}
]
}
}Adicionadas queries persistidas predefinidas
As seguintes queries persistidas foram adicionadas ao Gato GraphQL:
- [PRO] Translate posts for MultilingualPress (Gutenberg)
- [PRO] Translate posts for MultilingualPress (Classic editor)
- [PRO] Translate Poedit file content
[PRO] Adicionadas regras de automação
As seguintes regras de automação foram adicionadas ao Gato GraphQL PRO:
- MultilingualPress: Ao publicar um post, traduzi-lo para todos os idiomas (Gutenberg)
- MultilingualPress: Ao publicar um post, traduzi-lo para todos os idiomas (Editor clássico)