⭐️ Rilis v2.6 dengan ekstensi MultilingualPress baru (untuk situs multibahasa)
Gato GraphQL v2.6 telah dirilis, menghadirkan beberapa fitur baru. Lihat catatan rilis di GitHub untuk daftar lengkap perubahan.
Berikut adalah penambahan paling penting.
[PRO] Ditambahkan integrasi dengan MultilingualPress
Gato GraphQL PRO kini memiliki integrasi dengan plugin MultilingualPress.
Dengan ekstensi MultilingualPress yang baru, skema GraphQL dilengkapi dengan field untuk mengambil data multibahasa.
Misalnya, Anda kini dapat menjalankan query ini:
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
}Dengan penambahan ini, kita dapat menggunakan Gato GraphQL untuk menerjemahkan posting secara otomatis untuk plugin MultilingualPress, dan menyimpan terjemahan tersebut di situs-situs yang sesuai dalam jaringan WordPress multisite.
Lihat video demo Automatically translating posts for MultilingualPress (on a WordPress multisite network) untuk melihat cara kerjanya:
[PRO] Ditambahkan field _strRegexFindMatches
Field _strRegexFindMatches telah ditambahkan ke skema GraphQL (di bawah ekstensi PHP Functions via Schema).
Field ini menjalankan ekspresi reguler untuk mengekstrak semua kecocokan dari sebuah string. Misalnya, menjalankan query ini:
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"
)
}...akan menghasilkan:
{
"data": {
"_strRegexFindMatches": [
[
"https:\/\/gatographql.com"
],
[
"gatographql.com"
]
]
}
}Dengan penambahan ini, kita dapat menggunakan Gato GraphQL untuk mengekstrak string kosong dari file Poedit, menerjemahkannya ke bahasa apa pun, dan membuat file Poedit yang sesuai untuk bahasa tersebut.
Lihat video demo Translating all strings in a Poedit file for any language untuk melihat cara kerjanya:
Ditambahkan field siteURL
Field berikut telah ditambahkan ke skema GraphQL, melalui modul "Site":
Root.siteURL
Misalnya, menjalankan query berikut:
query {
siteURL
}...akan menghasilkan:
{
"data": {
"siteURL": "https://mysite.com"
}
}Ditambahkan field untuk mengambil data multisite
Skema GraphQL kini mendukung pengambilan data dari jaringan WordPress multisite, yang disediakan melalui modul "Multisite" yang baru.
Modul ini menambahkan field-field berikut ke skema GraphQL:
Root.networkSitesRoot.networkSiteCount
Field networkSites mengembalikan array berisi semua situs dalam jaringan, masing-masing bertipe NetworkSite yang baru, yang mengandung field-field berikut:
idnameurllocalelanguage
Field-field ini hanya diaktifkan ketika multisite diaktifkan (yaitu ketika method is_multisite() mengembalikan true).
Misalnya, menjalankan query berikut:
query {
networkSiteCount
networkSites {
id
name
url
locale
language
}
}mungkin akan mengembalikan:
{
"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"
}
]
}
}Ditambahkan persisted queries yang telah ditetapkan
Persisted queries berikut telah ditambahkan ke Gato GraphQL:
- [PRO] Translate posts for MultilingualPress (Gutenberg)
- [PRO] Translate posts for MultilingualPress (Classic editor)
- [PRO] Translate Poedit file content
[PRO] Ditambahkan aturan otomasi
Aturan otomasi berikut telah ditambahkan ke Gato GraphQL PRO:
- MultilingualPress: Saat mempublikasikan posting, terjemahkan ke semua bahasa (Gutenberg)
- MultilingualPress: Saat mempublikasikan posting, terjemahkan ke semua bahasa (Classic editor)