Blog

⭐️ Uitgave v2.6 met nieuwe MultilingualPress-extensie (voor meertalige sites)

Leonardo Losoviz
Door Leonardo Losoviz ·

Gato GraphQL v2.6 is uitgebracht met verschillende nieuwe functies. Bekijk de release-opmerkingen op GitHub voor de volledige lijst van wijzigingen.

Hieronder vind je de belangrijkste toevoegingen.

[PRO] Integratie met MultilingualPress toegevoegd

Gato GraphQL PRO heeft nu een integratie met de MultilingualPress-plugin.

Met de nieuwe MultilingualPress-extensie krijgt het GraphQL-schema de velden om meertalige data op te halen.

Je kunt nu bijvoorbeeld deze query uitvoeren:

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
}

Met deze toevoeging kunnen we Gato GraphQL gebruiken om berichten automatisch te vertalen voor de MultilingualPress-plugin en die vertalingen op te slaan in de bijbehorende sites in het WordPress multisite-netwerk.

Bekijk de demovideo Automatically translating posts for MultilingualPress (on a WordPress multisite network) om te zien hoe het werkt:

[PRO] Veld _strRegexFindMatches toegevoegd

Het veld _strRegexFindMatches is toegevoegd aan het GraphQL-schema (onder de extensie PHP Functions via Schema).

Dit veld voert een reguliere expressie uit om alle overeenkomsten uit een string te extraheren. Als je bijvoorbeeld deze query uitvoert:

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"
  )
}

...wordt het volgende geproduceerd:

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

Met deze toevoeging kunnen we Gato GraphQL gebruiken om de lege strings uit een Poedit-bestand te extraheren, ze naar elke taal te vertalen en het bijbehorende Poedit-bestand voor die taal aan te maken.

Bekijk de demovideo Translating all strings in a Poedit file for any language om te zien hoe het werkt:

Veld siteURL toegevoegd

Het volgende veld is via de module "Site" aan het GraphQL-schema toegevoegd:

  • Root.siteURL

Als je bijvoorbeeld de volgende query uitvoert:

query {
  siteURL
}

...wordt het volgende geproduceerd:

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

Velden voor het ophalen van multisite-data toegevoegd

Het GraphQL-schema ondersteunt nu het ophalen van data uit een WordPress multisite-netwerk, beschikbaar gesteld via de nieuwe module "Multisite".

Deze module voegt de volgende velden toe aan het GraphQL-schema:

  • Root.networkSites
  • Root.networkSiteCount

Het veld networkSites geeft een array terug met alle sites in het netwerk, elk van het nieuwe type NetworkSite, dat de volgende velden bevat:

  • id
  • name
  • url
  • locale
  • language

Deze velden zijn alleen beschikbaar wanneer multisite is ingeschakeld (d.w.z. wanneer de methode is_multisite() true retourneert).

Als je bijvoorbeeld de volgende query uitvoert:

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

kan dit het volgende opleveren:

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

Voorgedefinieerde persistente queries toegevoegd

De volgende persistente queries zijn toegevoegd aan Gato GraphQL:

[PRO] Automatiseringsregels toegevoegd

De volgende automatiseringsregels zijn toegevoegd aan Gato GraphQL PRO:

  • MultilingualPress: Vertaal bij het publiceren van een bericht naar alle talen (Gutenberg)
  • MultilingualPress: Vertaal bij het publiceren van een bericht naar alle talen (Klassieke editor)

Abonneer je op onze nieuwsbrief

Blijf op de hoogte van alle updates over Gato GraphQL.