⭐️ Wydana wersja v2.6 z nowym rozszerzeniem MultilingualPress (dla wielojęzycznych stron)
Gato GraphQL v2.6 zostało wydane, wprowadzając wiele nowych funkcji. Zapoznaj się z informacjami o wydaniu na GitHub, aby zobaczyć pełną listę zmian.
Poniżej przedstawiono najważniejsze dodatki.
[PRO] Dodana integracja z MultilingualPress
Gato GraphQL PRO posiada teraz integrację z wtyczką MultilingualPress.
Dzięki nowemu rozszerzeniu MultilingualPress, schema GraphQL otrzymuje pola umożliwiające pobieranie danych wielojęzycznych.
Na przykład można teraz wykonać takie 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
}Dzięki temu dodatkowi możemy używać Gato GraphQL do automatycznego tłumaczenia wpisów dla wtyczki MultilingualPress i przechowywania tych tłumaczeń w odpowiednich witrynach w sieci multisite WordPress.
Obejrzyj film demonstracyjny Automatically translating posts for MultilingualPress (on a WordPress multisite network), aby zobaczyć jak to działa:
[PRO] Dodane pole _strRegexFindMatches
Pole _strRegexFindMatches zostało dodane do schematu GraphQL (w rozszerzeniu PHP Functions via Schema).
To pole wykonuje wyrażenie regularne w celu wyodrębnienia wszystkich dopasowań z ciągu znaków. Na przykład wykonanie tego 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"
)
}...spowoduje:
{
"data": {
"_strRegexFindMatches": [
[
"https:\/\/gatographql.com"
],
[
"gatographql.com"
]
]
}
}Dzięki temu dodatkowi możemy używać Gato GraphQL do wyodrębniania pustych ciągów z pliku Poedit, tłumaczenia ich na dowolny język i tworzenia odpowiedniego pliku Poedit dla tego języka.
Obejrzyj film demonstracyjny Translating all strings in a Poedit file for any language, aby zobaczyć jak to działa:
Dodane pole siteURL
Do schematu GraphQL dodano następujące pole za pośrednictwem modułu "Site":
Root.siteURL
Na przykład wykonanie następującego query:
query {
siteURL
}...spowoduje:
{
"data": {
"siteURL": "https://mysite.com"
}
}Dodane pola do pobierania danych z multisite
Schema GraphQL obsługuje teraz pobieranie danych z sieci multisite WordPress, udostępniane przez nowy moduł "Multisite".
Ten moduł dodaje do schematu GraphQL następujące pola:
Root.networkSitesRoot.networkSiteCount
Pole networkSites zwraca tablicę ze wszystkimi witrynami w sieci, każda z nowego typu NetworkSite, który zawiera następujące pola:
idnameurllocalelanguage
Te pola są dostępne tylko wtedy, gdy multisite jest włączony (czyli gdy metoda is_multisite() zwraca true).
Na przykład wykonanie następującego query:
query {
networkSiteCount
networkSites {
id
name
url
locale
language
}
}może zwrócić:
{
"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"
}
]
}
}Dodane predefiniowane zapytania persistowane
Do Gato GraphQL dodano następujące zapytania persistowane:
- [PRO] Translate posts for MultilingualPress (Gutenberg)
- [PRO] Translate posts for MultilingualPress (Classic editor)
- [PRO] Translate Poedit file content
[PRO] Dodane reguły automatyzacji
Do Gato GraphQL PRO dodano następujące reguły automatyzacji:
- MultilingualPress: Przy publikowaniu wpisu, przetłumacz go na wszystkie języki (Gutenberg)
- MultilingualPress: Przy publikowaniu wpisu, przetłumacz go na wszystkie języki (Edytor klasyczny)