Blog

⭐️ Veröffentlichung v2.6 mit neuer MultilingualPress-Erweiterung (für mehrsprachige Seiten)

Leonardo Losoviz
Von Leonardo Losoviz ·

Gato GraphQL v2.6 wurde veröffentlicht und enthält mehrere neue Funktionen. Schau dir die Release Notes auf GitHub für die vollständige Liste der Änderungen an.

Im Folgenden sind die wichtigsten Neuerungen aufgeführt.

[PRO] Integration mit MultilingualPress hinzugefügt

Gato GraphQL PRO verfügt nun über eine Integration mit dem Plugin MultilingualPress.

Mit der neuen MultilingualPress-Erweiterung wird das GraphQL-Schema mit Feldern ausgestattet, um mehrsprachige Daten abzurufen.

Zum Beispiel kannst du jetzt diese query ausführen:

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
}

Mit dieser Erweiterung können wir Gato GraphQL nutzen, um Posts automatisch für das Plugin MultilingualPress zu übersetzen und diese Übersetzungen in den entsprechenden Seiten im WordPress-Multisite-Netzwerk zu speichern.

Schau dir das Demo-Video Automatically translating posts for MultilingualPress (on a WordPress multisite network) an, um zu sehen, wie es funktioniert:

[PRO] Feld _strRegexFindMatches hinzugefügt

Das Feld _strRegexFindMatches wurde dem GraphQL-Schema hinzugefügt (unter der Erweiterung PHP Functions via Schema).

Dieses Feld führt einen regulären Ausdruck aus, um alle Treffer aus einem String zu extrahieren. Zum Beispiel ergibt die Ausführung dieser 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"
  )
}

...folgendes Ergebnis:

{
  "data": {
    "_strRegexFindMatches": [
      [
        "https:\/\/gatographql.com"
      ],
      [
        "gatographql.com"
      ]
    ]
  }
}

Mit dieser Erweiterung können wir Gato GraphQL nutzen, um leere Strings aus einer Poedit-Datei zu extrahieren, sie in eine beliebige Sprache zu übersetzen und die entsprechende Poedit-Datei für diese Sprache zu erstellen.

Schau dir das Demo-Video Translating all strings in a Poedit file for any language an, um zu sehen, wie es funktioniert:

Feld siteURL hinzugefügt

Das folgende Feld wurde dem GraphQL-Schema hinzugefügt, über das Modul "Site":

  • Root.siteURL

Zum Beispiel ergibt die Ausführung der folgenden query:

query {
  siteURL
}

...folgendes Ergebnis:

{
  "data": {
    "siteURL": "https://mysite.com"
  }
}

Felder zum Abrufen von Multisite-Daten hinzugefügt

Das GraphQL-Schema unterstützt nun das Abrufen von Daten aus einem WordPress-Multisite-Netzwerk, bereitgestellt über das neue Modul "Multisite".

Dieses Modul fügt dem GraphQL-Schema die folgenden Felder hinzu:

  • Root.networkSites
  • Root.networkSiteCount

Das Feld networkSites gibt ein Array mit allen Seiten im Netzwerk zurück, jede vom neuen Typ NetworkSite, der die folgenden Felder enthält:

  • id
  • name
  • url
  • locale
  • language

Diese Felder sind nur aktiviert, wenn Multisite aktiviert ist (d.h. wenn die Methode is_multisite() true zurückgibt).

Zum Beispiel könnte die Ausführung der folgenden query:

query {
  networkSiteCount
  networkSites {
    id
    name
    url
    locale
    language
  }
}

folgendes zurückgeben:

{
  "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"
      }
    ]
  }
}

Vordefinierte persisted queries hinzugefügt

Die folgenden persisted queries wurden zu Gato GraphQL hinzugefügt:

[PRO] Automatisierungsregeln hinzugefügt

Die folgenden Automatisierungsregeln wurden zu Gato GraphQL PRO hinzugefügt:

  • MultilingualPress: Wenn ein Post veröffentlicht wird, übersetze ihn in alle Sprachen (Gutenberg)
  • MultilingualPress: Wenn ein Post veröffentlicht wird, übersetze ihn in alle Sprachen (Classic editor)

Abonniere unseren Newsletter

Bleib über alle Updates zu Gato GraphQL auf dem Laufenden.