⭐️ เปิดตัว v2.6 พร้อมส่วนขยาย MultilingualPress (สำหรับเว็บไซต์หลายภาษา)
Gato GraphQL v2.6 ได้รับการเปิดตัวแล้ว พร้อมด้วยฟีเจอร์ใหม่หลายอย่าง ดูรายละเอียดการเปลี่ยนแปลงทั้งหมดได้ที่ release notes บน GitHub
ด้านล่างนี้คือการเพิ่มเติมที่สำคัญที่สุด
[PRO] เพิ่มการรวมระบบกับ MultilingualPress
Gato GraphQL PRO ตอนนี้มีการรวมระบบกับปลั๊กอิน MultilingualPress
ด้วยส่วนขยาย MultilingualPress ใหม่ GraphQL schema จะได้รับฟิลด์สำหรับดึงข้อมูลหลายภาษา
ตัวอย่างเช่น ตอนนี้คุณสามารถรัน queries นี้ได้:
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 multisite
ดูวิดีโอสาธิต Automatically translating posts for MultilingualPress (on a WordPress multisite network) เพื่อดูวิธีการทำงาน:
[PRO] เพิ่มฟิลด์ _strRegexFindMatches
ฟิลด์ _strRegexFindMatches ได้รับการเพิ่มเข้าไปใน GraphQL schema (ภายใต้ส่วนขยาย PHP Functions via Schema)
ฟิลด์นี้ประมวลผล regular expression เพื่อดึงข้อมูลที่ตรงกันทั้งหมดจากสตริง ตัวอย่างเช่น การรัน queries นี้:
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 schema ผ่านโมดูล "Site":
Root.siteURL
ตัวอย่างเช่น การรัน queries ต่อไปนี้:
query {
siteURL
}...จะให้ผลลัพธ์:
{
"data": {
"siteURL": "https://mysite.com"
}
}เพิ่มฟิลด์สำหรับดึงข้อมูล multisite
ตอนนี้ GraphQL schema รองรับการดึงข้อมูลจากเครือข่าย WordPress multisite ผ่านโมดูล "Multisite" ใหม่
โมดูลนี้เพิ่มฟิลด์ต่อไปนี้ใน GraphQL schema:
Root.networkSitesRoot.networkSiteCount
ฟิลด์ networkSites คืนค่าเป็น array ที่มีไซต์ทั้งหมดในเครือข่าย โดยแต่ละไซต์เป็นประเภท NetworkSite ใหม่ ซึ่งประกอบด้วยฟิลด์ต่อไปนี้:
idnameurllocalelanguage
ฟิลด์เหล่านี้จะเปิดใช้งานเฉพาะเมื่อ multisite ถูกเปิดใช้งาน (กล่าวคือ เมื่อเมธอด is_multisite() คืนค่าเป็น true)
ตัวอย่างเช่น การรัน queries ต่อไปนี้:
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 ที่กำหนดไว้ล่วงหน้า
Persisted queries ต่อไปนี้ได้รับการเพิ่มเข้าไปใน Gato GraphQL:
- [PRO] Translate posts for MultilingualPress (Gutenberg)
- [PRO] Translate posts for MultilingualPress (Classic editor)
- [PRO] Translate Poedit file content
[PRO] เพิ่มกฎ automation
กฎ automation ต่อไปนี้ได้รับการเพิ่มเข้าไปใน Gato GraphQL PRO:
- MultilingualPress: เมื่อเผยแพร่โพสต์ ให้แปลเป็นทุกภาษา (Gutenberg)
- MultilingualPress: เมื่อเผยแพร่โพสต์ ให้แปลเป็นทุกภาษา (Classic editor)