# WPML GraphQL

> A WPGraphQL sémáját nyelvfüggővé teszi, így a headless WordPress lekérdezéseit nyelv szerint szűrheted.

A WPML GraphQL a WPGraphQL és a WPML között teremt kapcsolatot. Minden WPGraphQL lekérdezés kap egy `language` argumentumot, így többnyelvű, headless WordPress oldalon nyelv szerint kérheted le a tartalmat. A WPML hivatalos oldala szerint a Multilingual CMS és az Agency csomaggal jár.

## Mire jó

- Ha egy headless (például React vagy Next.js) frontend a WordPress tartalmát GraphQL-en kéri le, és nyelvenként kell szűrni.
- Ha a bejegyzés összes fordítását egy lekérdezésben el akarod érni.
- Ha a nyelvváltóhoz a telepített nyelvek listája kell.

## Mit tud

- A `language` argumentum: például `posts(where: { language: "es" })`. A `language: "all"` az összes nyelvet adja.
- A `translations` mező egy bejegyzés vagy kifejezés többi nyelvi változatát adja.
- A `languages` és a `defaultLanguage` lekérdezés a telepített nyelveket listázza.
- Támogatott tartalom: bejegyzések, egyedi bejegyzéstípusok, taxonómiák, menük, menüpontok, megjegyzések.
- ACF mezők bejegyzéseken, ha az ACFML és a WPGraphQL for ACF is aktív.
- Végpont: nyelvenkénti domainnél az adott domain `/graphql` címe, nyelvparaméternél a `/graphql?lang=es`.

## Mikor nem ez kell

- A WPGraphQL, a WPML és a WPML String Translation nélkül nem használható.
- A WPML nem esik vissza az alapnyelvre: ha egy kapcsolódó elemnek nincs fordítása az adott nyelven, kimarad az eredményből.
- A **Display as translated** bejegyzéstípusnál a lista nyelveket keverhet.
- Ha egy lekérdezésben nincs `language`, például azonosító vagy slug szerinti lekérésnél, az alapnyelven fut. Ezért minden kérésben add meg a nyelvet.
- Az ACF mezők bejegyzéseken nem fogadnak saját `language` argumentumot.

## Első lépések

1. Telepítsd és kapcsold be a bővítményt. Előtte a WPGraphQL, a WPML és a WPML String Translation legyen aktív.
2. Ha ACF mezőket is lekérsz, aktiváld az ACFML-t és a WPGraphQL for ACF-et.
3. Egy lekérdezésben adj meg `language` szűrőt, például `posts(where: { language: "hu" })`.
4. Nyelvváltóhoz kérdezd le a `languages` listát.

## Hasznos linkek

- [A WPML GraphQL dokumentációja](https://wpml.org/documentation/wpml-core-and-add-on-plugins/wpml-graphql/)
