Como filtrar por meta de relação
Criar consulta SQL no Query Builder
Comece criando uma consulta personalizada no JetEngine Query Builder. Vá para WordPress Dashboard> JetEngine> Query Builder e pressione “ Adicionar novo ”.
Dê um nome à consulta, uma descrição , se desejar, e defina o tipo de consulta como “Consulta SQL/AI”.
Na seção Consulta SQL personalizada , adicione uma tabela “jet_rel_default_meta” From como a fonte de extração dos valores dos metacampos de relação.
Lembre-se de que a tabela “jet_rel_default_meta” deve ser selecionada se você mantiver Registrar tabela de banco de dados separada nas configurações de Relação desabilitada.
Se você tiver essa alternância no estado habilitado, uma tabela separada será criada no banco de dados, que tem um nome diferente como “jet_rel_81_meta”, onde “81” é substituído pelo ID de relação do seu site.
Portanto, neste caso, a respectiva tabela deverá ser selecionada no campo Da Tabela .
Em seguida, adicione o Where (query Clause) , que especifica o metacampo da relação pela qual a filtragem deve ser realizada. Selecione “meta_key” como uma coluna, que é “Igual” ( campo Comparar ) ao nome do metacampo de relação mencionado no campo Valor .
A cláusula a seguir será necessária se a opção Registrar tabela de banco de dados separada estiver desabilitada.
Neste caso, o valor “rel_id” deve ser definido como Column , “Equal” como operador Compare , e o ID da relação precisa ser especificado na cláusula como Value . Como foi mostrado anteriormente, você pode encontrar o ID da relação na URL da página de edição da relação .
Além disso, lembre-se de alterar a opção Tipo para “Numérico”.
Na visualização dos resultados da consulta, você pode ver que a coluna “meta_value” armazena o valor do metacampo Relação com base no qual o filtro será construído.
Quando a consulta for concluída, você poderá salvá-la.
Faça filtro em JetSmartFilters
Agora prossiga com a criação de um filtro usando o plugin JetSmartFilters .
Vá para Painel do WordPress > Filtros Inteligentes > Adicionar Novo e selecione o tipo de filtro necessário. No caso descrito, escolhemos um tipo de filtro “Rádio” .
Em seguida, escolha uma fonte de dados “JetEngine Query Builder” e selecione uma consulta personalizada da etapa anterior.
A propriedade da qual obter o valor e a propriedade da qual obter o rótulo devem ser preenchidas com “meta_value”.
A última configuração na configuração do filtro é a Variável de Consulta , pela qual a filtragem é realizada. Deve ser “meta_value” também.
A configuração do filtro está concluída; ele pode ser salvo agora.
Criar consulta SQL no Query Builder
Nesta fase, precisamos criar outra consulta personalizada que será a fonte do modelo de listagem usado no widget Listing Grid para mostrar os resultados filtrados.
Vá para WordPress Dashboard > JetEngine > Query Builder e adicione uma nova consulta personalizada de “SQL/AI Query” Query Type .
Escolha uma tabela onde esteja armazenado um item da relação que será filtrado.
No caso descrito, é o CCT. Portanto, uma tabela CCT é selecionada adequadamente. Se você deseja filtrar um tipo de post usado na relação, escolha uma tabela “posts”.
Depois disso, ative o botão Usar junção .
Depois de ativar a alternância, escolha “Inner Join” como tipo de junção e junte-se à tabela “jet_rel_default_meta”.
Lembre-se de que pode ser necessário selecionar uma tabela personalizada para uma relação se você ativar Registrar tabela de banco de dados separada nas configurações ao criar uma relação.
Quando o campo da coluna da tabela atual deverá ser preenchido com uma opção correspondente ao item da relação que será filtrado.
No caso fornecido, será filtrado um CCT que seja item pai na relação, por isso é escolhido o “parent_object_id”.
É igual a outra coluna da tabela deve ser definida como “_ID” ou “ID” do CCT caso uma tabela “posts” tenha sido adicionada anteriormente.
Em seguida, adicione um item na seção Onde (cláusulas de consulta) e especifique uma coluna “jet_rel_default_meta.meta_key” como “Igual” ( campo Comparar ) ao nome do metacampo Relação ( campo Valor ). serão puxados que possuem um valor no metacampo da relação.
Se você usar um tipo de postagem em vez de um CCT na relação que será filtrada, também poderá ser necessário especificar um tipo de postagem na consulta. Você deve selecionar “posts.post_type” para ser “Igual” a um slug de tipo de postagem desejado.
A consulta personalizada é feita neste ponto, para que possa ser salva.
Criar modelo de listagem para consulta personalizada
Vá para WordPress Dashboard > JetEngine > Listings e clique no botão “ Adicionar novo ”.
A fonte da listagem deve ser definida como “Query Builder” e a consulta criada na etapa anterior deve ser escolhida no campo Consulta .
Preencha o nome do item da listagem e escolha a visualização da listagem . Pressione o botão “ Criar item de listagem ”.
No modelo de listagem , você pode adicionar um widget de campo dinâmico para extrair dados da consulta personalizada.
Observe que você precisa selecionar campos na seção Consulta para gerar dados no modelo de listagem para uma consulta personalizada.
Você pode usar um campo de objeto personalizado/meta-campo/chave de repetidor “meta_value” para mostrar um valor de um meta-campo de relação .
Depois de adicionar todos os outros campos necessários, o modelo de listagem pode ser salvo.
Verifique a filtragem no front-end
Adicione o filtro e o widget Listing Grid a uma página para verificar o resultado.
No widget Grade de Listagem , selecione um modelo de Listagem que foi criado em uma etapa anterior.
A configuração está concluída; verifique a filtragem no front-end.
Quando uma opção é escolhida no filtro, um respectivo item com o valor filtrado no metacampo Relação é exibido na Grade de Listagem de acordo.
Agora você já sabe como construir consultas SQL e um filtro para criar filtragem por metacampo de relação em seu site usando os plugins JetEngine e JetSmartFilters .