⭐️ Выпущена v2.6 с новым расширением MultilingualPress (для многоязычных сайтов)
Выпущена Gato GraphQL v2.6, содержащая несколько новых функций. Ознакомьтесь с примечаниями к релизу на GitHub для получения полного списка изменений.
Ниже представлены наиболее важные добавления.
[PRO] Добавлена интеграция с MultilingualPress
Gato GraphQL PRO теперь имеет интеграцию с плагином MultilingualPress.
С новым расширением MultilingualPress схема GraphQL получает поля для извлечения многоязычных данных.
Например, теперь можно выполнить следующий запрос:
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
}Благодаря этому дополнению мы можем использовать Gato GraphQL для автоматического перевода записей для плагина MultilingualPress и сохранения этих переводов на соответствующих сайтах в многосайтовой сети WordPress.
Посмотрите видео с демонстрацией Automatically translating posts for MultilingualPress (on a WordPress multisite network), чтобы увидеть, как это работает:
[PRO] Добавлено поле _strRegexFindMatches
В схему GraphQL добавлено поле _strRegexFindMatches (в рамках расширения PHP Functions via Schema).
Это поле выполняет регулярное выражение для извлечения всех совпадений из строки. Например, выполнение следующего запроса:
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"
)
}...вернёт:
{
"data": {
"_strRegexFindMatches": [
[
"https:\/\/gatographql.com"
],
[
"gatographql.com"
]
]
}
}Благодаря этому дополнению мы можем использовать Gato GraphQL для извлечения пустых строк из файла Poedit, перевода их на любой язык и создания соответствующего файла Poedit для этого языка.
Посмотрите видео с демонстрацией Translating all strings in a Poedit file for any language, чтобы увидеть, как это работает:
Добавлено поле siteURL
В схему GraphQL добавлено следующее поле через модуль «Site»:
Root.siteURL
Например, выполнение следующего запроса:
query {
siteURL
}...вернёт:
{
"data": {
"siteURL": "https://mysite.com"
}
}Добавлены поля для получения данных многосайтовой сети
Схема GraphQL теперь поддерживает получение данных из многосайтовой сети WordPress, реализованное через новый модуль «Multisite».
Этот модуль добавляет в схему GraphQL следующие поля:
Root.networkSitesRoot.networkSiteCount
Поле networkSites возвращает массив со всеми сайтами в сети, каждый из нового типа NetworkSite, который содержит следующие поля:
idnameurllocalelanguage
Эти поля доступны только при включённом многосайтовом режиме (то есть когда метод is_multisite() возвращает true).
Например, выполнение следующего запроса:
query {
networkSiteCount
networkSites {
id
name
url
locale
language
}
}может вернуть:
{
"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"
}
]
}
}Добавлены предопределённые persisted queries
В Gato GraphQL добавлены следующие persisted queries:
- [PRO] Translate posts for MultilingualPress (Gutenberg)
- [PRO] Translate posts for MultilingualPress (Classic editor)
- [PRO] Translate Poedit file content
[PRO] Добавлены правила автоматизации
В Gato GraphQL PRO добавлены следующие правила автоматизации:
- MultilingualPress: При публикации записи перевести её на все языки (Gutenberg)
- MultilingualPress: При публикации записи перевести её на все языки (Classic editor)