Nesta página
O Que Você Pode Fazer com WPML GraphQL?
Consulta de informações sobre idiomas e traduções
Consultando Postagens Específicas em Diferentes Idiomas
Consulta de dados de idiomas instalados
Nesta página
O Que Você Pode Fazer com WPML GraphQL?
Consulta de informações sobre idiomas e traduções
Consultando Postagens Específicas em Diferentes Idiomas
Consulta de dados de idiomas instalados
O WPML GraphQL não é compatível com o WPGraphQL 2.0 no momento. Estamos trabalhando ativamente para estabelecer a compatibilidade e atualizaremos quando estiver disponível.
Para começar, instale e ative os seguintes plug-ins:
Para incluir campos multilíngues do plugin ACF no esquema WPGraphQL, instale também:
WPML GraphQL integra-se com WPGraphQL para permitir que você consulte conteúdo multilíngue criado com WPML.
De GraphQL → GraphQL IDE, você pode usar o Query Composer para:
Por exemplo, como mostra a imagem abaixo, você pode facilmente obter uma lista de todas as postagens em seu site, completa com seus códigos de idioma, slugs, URIs e detalhes de suas traduções.
Abaixo, usaremos um site de teste multilíngue para mostrar como usar WPML GraphQL para consultar conteúdo e suas traduções.
Com WPML GraphQL, você pode usar os campos idioma e tradução em suas consultas:
language
permite recuperar detalhes como o código do idioma, URL da bandeira do país, nome nativo, nome traduzido e URL da página inicial para tipos de postagens, taxonomias, menus, itens de menu e comentários.languageCode
recupera o código do idioma para postagens, termos de taxonomia, menus, itens de menu e comentários sem detalhes adicionais de idioma.translations
recupera traduções para tipos de postagens e termos de taxonomia.Quando você consulta comentários, os campos language
e languageCode
correspondem ao idioma da postagem a que pertencem.
Aqui está um exemplo de uma consulta que recupera postagens junto com seus detalhes associados, incluindo o slug da postagem, URI, código do idioma, categorias e quaisquer traduções existentes:
query Posts{
posts(where: {language: "en"}) {
nodes {
slug
uri
language {
code
}
categories {
nodes {
name
}
}
translations {
slug
uri
language {
code
}
categories {
nodes {
name
}
}
}
}
}
}
Executar esta consulta retorna informações de idioma e tradução para cada postagem, juntamente com itens conectados como categorias. As conexões seguem automaticamente o idioma do item de nível superior (postagens neste caso):
{
"data": {
"posts": {
"nodes": [
{
"slug": "bye-world",
"uri": "/2023/05/18/bye-world/",
"language": {
"code": "en"
},
"categories": {
"nodes": [
{
"name": "End of the day"
},
{
"name": "Greetings"
}
]
},
"translations": [
{
"slug": "adios-mundo",
"uri": "/es/2023/05/18/adios-mundo/",
"language": {
"code": "es"
},
"categories": {
"nodes": [
{
"name": "Fin del día"
},
{
"name": "Saludos"
}
]
}
},
{
"slug": "tchau-mundo",
"uri": "/pt-pt/2023/05/18/tchau-mundo/",
"language": {
"code": "pt-pt"
},
"categories": {
"nodes": [
{
"name": "Fim do dia"
},
{
"name": "Saudações"
}
]
}
}
]
},
{
"slug": "hello-world",
"uri": "/2018/07/05/hello-world/",
"language": {
"code": "en"
},
"categories": {
"nodes": [
{
"name": "Greetings"
},
{
"name": "Start of the day"
}
]
},
"translations": [
{
"slug": "hola-mundo",
"uri": "/es/2018/07/05/hola-mundo/",
"language": {
"code": "es"
},
"categories": {
"nodes": [
{
"name": "Inicio del día"
},
{
"name": "Saludos"
}
]
}
},
{
"slug": "ola-mundo",
"uri": "/pt-pt/2018/07/05/ola-mundo/",
"language": {
"code": "pt-pt"
},
"categories": {
"nodes": [
{
"name": "Começo do dia"
},
{
"name": "Saudações"
}
]
}
}
]
}
]
}
}
}
WPML GraphQL permite que você use o filtro idioma para:
WPML GraphQL suporta conexões, então quando você filtra um item de nível superior como uma postagem por idioma, todos os itens relacionados, como categorias e tags, seguirão automaticamente o mesmo idioma. Isso torna suas consultas consistentes e precisas.
Aqui está um exemplo de uma consulta que recupera postagens em espanhol, incluindo seus slugs, URIs e categorias conectadas:
query PostsES{
posts(where: {language: "es"}) {
nodes {
slug
uri
categories {
nodes {
name
}
}
}
}
}
Aqui está o que a consulta retorna:
{
"data": {
"posts": {
"nodes": [
{
"slug": "adios-mundo",
"uri": "/es/2023/05/18/adios-mundo/",
"categories": {
"nodes": [
{
"name": "Fin del día"
},
{
"name": "Saludos"
}
]
}
},
{
"slug": "hola-mundo",
"uri": "/es/2018/07/05/hola-mundo/",
"categories": {
"nodes": [
{
"name": "Inicio del día"
},
{
"name": "Saludos"
}
]
}
}
]
}
}
}
Com WPMLGraphQL, você também pode consultar postagens individuais em qualquer idioma por seu ID de postagem ou slug.
Por exemplo, se você tiver uma postagem intitulada ¡Hola mundo! (a tradução em espanhol de Hello world!), com um slug de hola-mundo e um ID de postagem de 2, você pode usar as seguintes consultas para recuperar a postagem:
query PostBySlug {
post(id: "hola-mundo", idType: SLUG) {
title
slug
uri
}
}
query PostById {
post(id: "2", idType: DATABASE_ID) {
title
slug
uri
}
}
Ambas as consultas retornarão corretamente os dados da postagem, incluindo o título, o slug e o URI, para a postagem ¡Hola mundo!:
{
"data": {
"post": {
"title": "¡Hola mundo!",
"slug": "hola-mundo",
"uri": "/es/2018/07/05/hola-mundo/"
}
}
}
WPML GraphQL fornece duas consultas para acessar dados sobre os idiomas instalados em seu site:
Essas consultas podem ser úteis se você estiver procurando construir recursos como um seletor de idiomas.
Por exemplo, para obter dados de todos os idiomas instalados, você pode executar a seguinte consulta:
query Languages {
languages {
code
country_flag_url
default_locale
native_name
translated_name
url
}
}
A consulta acima produz o seguinte resultado:
{
"data": {
"languages": [
{
"code": "en",
"country_flag_url": "http://site.com/wp-content/plugins/sitepress-multilingual-cms-release/res/flags/en.svg",
"default_locale": "en_US",
"native_name": "English",
"translated_name": "English",
"url": "http://site.com"
},
{
"code": "es",
"country_flag_url": "http://site.com/wp-content/plugins/sitepress-multilingual-cms-release/res/flags/es.svg",
"default_locale": "es_ES",
"native_name": "Español",
"translated_name": "Spanish",
"url": "http://site.com/es/"
},
{
"code": "it",
"country_flag_url": "http://site.com/wp-content/plugins/sitepress-multilingual-cms-release/res/flags/it.svg",
"default_locale": "it_IT",
"native_name": "Italiano",
"translated_name": "Italian",
"url": "http://site.com/it/"
}
]
}
}
Gatsby permite que você obtenha dados de WordPress, e com WPML GraphQL, você pode servir conteúdo multilíngue e dados específicos de idioma para seu site Gatsby.
Se você estiver usando WP GraphQL com o plugin ACF, WPML GraphQL e ACF Multilingual estendem essa funcionalidade, permitindo que você consulte dados de campos personalizados em diferentes idiomas.
Por exemplo, digamos que você tenha uma instalação Gatsby com o pacote de complemento gatsby-source-graphql, e seu site WordPress tenha WPML (com o espanhol como idioma secundário) e ACF instalados.
Você pode recuperar postagens multilíngues com seus títulos, códigos de idioma e campos ACF personalizados no Gatsby usando uma simples consulta GraphQL.
export const doQuery = graphql`
{
wordpress {
posts(where: {language: "en"}) {
nodes {
title
language {
code
}
postfields{
subtitle
}
translations {
title
language {
code
}
postfields{
subtitle
}
}
}
}
}
}
`;
Para usar WPML GraphQL, você precisa de um plano WPML Multilingual CMS ou WPML Multilingual Agency. Ambos os planos fornecem acesso ao plugin WPML e uma ampla gama de complementos adicionais, todos incluídos sem custo extra.
Veja qual plano é melhor para o seu site.
Se você tiver problemas ao usar WPML GraphQL, visite nossa página de Problemas Conhecidos e Soluções para obter dicas de solução de problemas.
Ainda precisa de ajuda? Envie um ticket de suporte.