⭐️ MultilingualPress拡張機能(多言語サイト向け)を搭載したv2.6をリリース
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 フィールドを追加
_strRegexFindMatches フィールドがGraphQLスキーマに追加されました(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 フィールドを追加
「Site」モジュールを通じて、GraphQLスキーマに次のフィールドが追加されました:
Root.siteURL
例えば、次のクエリを実行すると:
query {
siteURL
}...次の結果が得られます:
{
"data": {
"siteURL": "https://mysite.com"
}
}マルチサイトデータを取得するフィールドを追加
GraphQLスキーマが、新しい「Multisite」モジュールを通じて提供される WordPress マルチサイトネットワークからのデータ取得をサポートするようになりました。
このモジュールは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"
}
]
}
}定義済みパーシステッドクエリを追加
Gato GraphQLに次のパーシステッドクエリが追加されました:
- [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)