Gênios Academy

Dicas e tutoriais para amantes do wordpress

Como exibir categorias de produtos WooCommerce com produtos em estoque usando Open AI Query

Como gerar a consulta SQL com o Open AI

Criar nova consulta personalizada

Em primeiro lugar, certifique-se de que a chave de licença principal esteja ativada em WordPress Dashboard > Crocoblock > License .

Em seguida, vá para WordPress Dashboard > JetEngine > Query Builder > Add New para criar uma nova consulta.  

Selecione “Consulta SQL/AI” como o tipo de consulta . A ferramenta geradora estará localizada nas configurações da “Consulta SQL/AI”.

criando consulta sql aiDê um nome à sua consulta. Os campos Descrição e ID da consulta são opcionais.

Ative o modo Avançado/AI

A primeira alternância nas configurações da consulta solicita a ativação do modo Avançado/AI . Ative-o.

ativando a ferramenta avançada de IA nas configurações de consulta SQLAgora que o modo Avançado está ativado, novas configurações aparecem. Na área Consulta SQL , você pode escrever sua própria Consulta SQL. Para abrir a ferramenta geradora de IA, clique no botão “ Varinha Mágica ” no canto superior direito da área do campo Consulta SQL .

visão geral das configurações do modo AI avançado na consulta SQL

Solicitação de gravação

O pop-up inclui o campo para inserir o prompt, dicas úteis sobre como escrever um bom prompt e exemplos de prompt.

visão geral da ferramenta gerador de consulta sqlVocê pode digitar a solicitação necessária no campo Descreva sua consulta . A resposta será recebida por meio da API e a consulta SQL será analisada e inserida.

Exemplos de prompts são clicáveis; ao clicar em um, o prompt será inserido no campo para gerar uma nova consulta com base nele. Lembre-se de que os prompts dos exemplos ainda contam no limite geral de solicitações à IA, portanto, use o gerador somente quando tiver certeza do seu prompt.

Usaremos um dos exemplos prontos para gerar a consulta: “WooCoomerce. Selecione categorias de produtos com produtos em estoque. O status do estoque do produto é armazenado no metacampo ‘_stock_status’. Retorne apenas termos exclusivos e todos os dados da tabela de termos.”

gerando consulta sql woocommerce usando IA no construtor de consultas jetengineApós entrar no prompt e clicar no botão “ Gerar consulta ” , ocorre o processo de geração da consulta. O processo leva de vários segundos a um minuto para ser concluído. 

Se tiver sucesso, a consulta gerada será adicionada ao mesmo campo, substituindo a solicitação inicial, onde poderá ser corrigida e posteriormente aplicada. Se necessário, gere outra consulta utilizando um novo prompt clicando no botão “ Gerar nova consulta ”. Lembre-se que cada vez que uma nova consulta é gerada conta como uma solicitação.

consulta sql gerada por ai no construtor de consultas do jetengine

Aviso

Observe que a consulta SQL gerada é criada pelo sistema de IA para corresponder melhor à sua descrição. Lembre-se de revisar a consulta com atenção, pois ela pode não ser 100% precisa.

Experimente casos mais complexos com dados dinâmicos

Agora, vamos tentar ajustar o prompt. 

Supondo que precisamos recuperar apenas categorias de produtos de primeiro nível (independentemente de terem categorias secundárias), escreveríamos este prompt: “WooCommerce. Selecione apenas categorias de produtos de primeiro nível. Retorne apenas termos únicos e todos os dados da tabela de termos”.

selecione apenas categorias de produtos de primeiro nível com consulta AIEm nosso exemplo, temos cinco categorias de produtos, sendo apenas três delas categorias de primeiro nível.

visão geral das categorias de produtos do woocommerceNos resultados da consulta, vemos essas três categorias.

” alt=”resultados para consulta recuperando apenas categorias de produtos de primeiro nível” data-src=”https://crocoblock.com/knowledge-base/wp-content/uploads/2023/05/results-for-query-retrieving-only-first-level-product-categories_2x.png” />Esta consulta personalizada está pronta para uso como está – ela recupera categorias de produtos exclusivas onde a categoria pai é igual a 0 (lembre-se de que a tabela ‘term_taxonomy’ tem uma coluna chamada ‘parent’ que armazena o ID do termo pai; se o valor de a coluna ‘pai’ é igual a 0, significa que a categoria é a categoria de primeiro nível porque não tem pais). 

Agora, vamos tentar algo mais complexo. O próximo objetivo é recuperar apenas as categorias de produtos de segundo nível que pertencem ao produto atual. 

Temos uma árvore de categorias de produtos: Roupas > Coleções Femininas > Coleção Primavera.

árvore de categorias de produtosPara este produto a categoria recuperada deverá ser “Coleções Femininas”. 

Antes de escrever o prompt, devemos dividir nossa tarefa em partes menores e elaborar cada parte. Lembre-se de que a prática recomendada é escrever o prompt de uma forma que você estruturaria a própria consulta SQL. Mantenha a descrição concisa – os prompts têm um limite de 400 caracteres. Quanto mais longo for o prompt, mais difícil será para a IA entendê-lo. 

Portanto, as partes que devemos considerar são: 

  1. A IA deve procurar nas tabelas do banco de dados WooCommerce ;
  2. A IA deve selecionar apenas categorias de produtos de segundo nível;
  3. As categorias de produtos devem pertencer ao produto atual. Sabemos que o ID do produto atual pode ser recuperado dinamicamente com a macro %current_id% (verifique o Guia de Macros para mais informações). É importante mencionar isso à IA;
  4. A categoria de produto pai da categoria de produto recuperada deve ser ela própria uma categoria pai. Portanto, a categoria pai da categoria recuperada não deve ter pais. Dessa forma, selecionamos apenas termos de segundo nível e não todos os termos que contam como termos filhos (por exemplo, a categoria de produto ‘Coleção Primavera’ não deve ser incluída nos resultados);
  5. Os termos devem ser exclusivos;
  6. Todos os dados da tabela de termos devem ser recuperados.

Tendo considerado os pontos acima, podemos escrever o seguinte prompt:

‘WooCoomerce. Selecione apenas categorias de produtos de segundo nível do produto atual. A categoria de produto pai das categorias de produtos retornadas não deve ter uma categoria pai. O ID do produto atual é recuperado com a macro %current_id%. Retorne apenas termos exclusivos e todos os dados da tabela de termos.’

O resultado é exatamente o que precisamos.

consulta sql que recupera categorias de produtos de segundo nível do produto atualNo entanto, há uma área para melhoria. Para otimizar a consulta, podemos remover a linha que diz ‘AND tt.parent != 0;’.

ajustando a consulta sql gerada por ai

Revise e ajuste a consulta

Quando estiver satisfeito com o resultado, clique no botão “ Usar esta consulta ” para colar a consulta no campo Consulta SQL . Ficaremos com a primeira consulta gerada.

usando consulta sql gerada por ai na consulta sql aiVocê pode ativar o botão Visualizar resultados para ver se os resultados correspondem às suas expectativas. Os resultados da consulta devem exibir os dados das categorias de produtos que possuem produtos em estoque.

ativando o modo de visualização de resultados na consulta sql aiEm nosso exemplo, a consulta retorna quatro propriedades — ‘term_id,’ ‘name,’ ‘slug’ e ‘term_group’. Estas são as únicas propriedades disponíveis para escolha no widget/bloco Campo Dinâmico quando você passa a projetar o Modelo de Listagem . Isso significa que estes são os únicos dados dinâmicos que você pode exibir na listagem. Outros campos de categoria padrão do WooCommerce não podem ser usados ​​(por exemplo, miniatura de categoria). Além disso, se você tiver metacampos anexados a categorias de produtos, eles não poderão ser recuperados. 

Em alguns casos, as propriedades fornecidas são suficientes para estilizar o modelo de listagem . Porém, muitas vezes é importante ter acesso a todos os campos relacionados ao objeto (como miniatura e metacampos da categoria do produto). Para isso, role as configurações da consulta personalizada até a configuração Transmitir resultado para instância do objeto .

usando o resultado da conversão para a instância do objetoSelecione a opção “Termo de Taxonomia”. Agora, os objetos nos resultados da consulta são convertidos em termos de taxonomia e você não está mais limitado às quatro propriedades retornadas pela Consulta SQL .

Pressione o botão “ Adicionar consulta ” para salvar a consulta.

Como exibir os resultados da consulta SQL usando um modelo de listagem

Existem duas maneiras de exibir os resultados da consulta: criando um modelo de listagem para o Query Builder e usando propriedades retornadas pela consulta SQL para construir a listagem; ou aplicando a consulta em uma grade de listagem com um modelo de listagem pronto para categorias de produtos.

Aviso

É importante observar que é necessário criar um novo Listing Template com a fonte “Query Builder” caso você não tenha utilizado a configuração Cast results to instance of object .

Crie um novo modelo de listagem para consulta SQL

Navegue até WordPress Dashboard > JetEngine > Listings > Add New para criar um novo modelo de listagem .

criando modelo de listagem para consulta sql para exibir categorias de woocommerce em estoqueSelecione a opção “Query Builder” como fonte da listagem . Em seguida, selecione a Consulta SQL criada anteriormente . Dê um nome ao modelo de listagem. Por fim, selecione a visualização Listagem . Usaremos “Elementor” em nosso exemplo. 

Pressione o botão “ Criar item de listagem ” para ir para o editor do modelo.

Preencha o modelo de listagem com conteúdo

Agora é hora de criar o modelo de listagem. Posteriormente, definirá o layout da Grade de Listagem .

Use o Campo Dinâmico para exibir dados da categoria de produto — por exemplo, nome da categoria de produto. 

Para exibir o nome da categoria do produto, selecione a opção “Post/Term/User/Object Data” como Fonte do Campo Dinâmico ; em seguida, selecione “Nome do termo” no menu suspenso Campo do objeto .

usando widget de campo dinâmico para exibir informações sobre a categoria de produto do woocommerceAs mesmas configurações são aplicadas em Gutenberg.

usando bloco de campo dinâmico para exibir informações sobre a categoria de produto do woocommercePara exibir a miniatura da categoria do produto, coloque a Imagem Dinâmica na área de edição. No campo metacampo/chave de repetidor personalizado , insira o nome do campo ‘thumbnail_id’:

usando imagem dinâmica para exibir miniatura da categoria de produtoDepois de terminar de estilizar a listagem, salve as alterações.

Exibir a listagem usando o widget Listing Grid 

Vá para a página ou modelo onde as categorias de produtos devem ser exibidas e abra-o no editor. 

Coloque o widget/bloco Listing Grid na página. Selecione o modelo de listagem criado anteriormente.

exibindo categorias de produtos de woocommerce no widget de grade de listagemObserve que você não precisa aplicar a consulta na guia Consulta Personalizada das configurações da Grade de Listagem .

É isso. Agora, sua listagem usa uma consulta personalizada gerada por IA para exibir categorias de produtos com produtos em estoque.