Como corrigir os Glossaries do JetEngine que não populam campos select no WordPress
O que é Glossary do JetEngine que não popula o campo Select?
No JetEngine, Glossaries são listas no formato Title + Value que alimentam um campo Select, Radio ou Checkbox usado como fonte das opções; criadas manualmente ou importadas de arquivo, elas evitam digitar opção por opção em cada meta field. Você monta o glossário uma vez e reaproveita a mesma lista em vários campos, segundo a documentação do Crocoblock. O campo é configurado em JetEngine, na aba Meta Fields do Post Type, do Custom Content Type, do meta box ou da Options Page.
O problema aparece quando esse campo Select deixa de mostrar as opções: ele renderiza vazio no editor do post e no frontend, ou exibe só o item placeholder sem nenhum valor selecionável. A causa raiz quase sempre está na ligação entre o campo e o glossário, e não em um bug do plugin. A documentação oficial do JetEngine deixa claro que o Select só busca os itens do glossário quando o controle Get options from the glossary está ativado e um glossário válido é escolhido na lista; sem isso, o campo não tem de onde puxar as opções.
Como identificar
- O campo Select abre vazio no editor do post, sem nenhuma opção além do item placeholder, mesmo com o glossário já criado em JetEngine.
- No formulário do JetFormBuilder ou no meta field, o Select aparece, mas a lista de valores fica em branco para quem preenche.
- A opção ‘Get options from the glossary’ não está marcada na configuração do meta field, e o campo mostra apenas o que foi digitado manualmente (nada, quando nada foi digitado).
- O glossário existe em JetEngine mas está sem linhas no formato Title + Value, então o Select não tem itens para listar.
- Depois de importar um arquivo de glossário, o Select continua vazio porque o campo ainda aponta para outro glossário ou para nenhum.
Como prevenir
- Crie e preencha o glossário com os pares Title + Value antes de ligar a opção Get options from the glossary em qualquer campo Select.
- Padronize um glossário central por conjunto de opções e reaproveite a mesma fonte nos vários meta fields, evitando listas manuais duplicadas que ficam desatualizadas.
- Nunca exclua ou renomeie um glossário sem antes verificar quais meta fields o usam como fonte, para não quebrar a referência do Select.
- Após importar um glossário de arquivo, confira no painel se as linhas Title + Value foram realmente gravadas antes de apontar um campo para ele.
Causa
- A opção 'Get options from the glossary' do meta field está desligada: sem esse toggle ativo, o campo Select ignora o glossário e usa apenas a lista manual de opções, que está vazia.
- O toggle 'Get options from the glossary' está ativo, mas nenhum glossário foi escolhido no seletor de fonte do campo, então não há lista de Title + Value para o Select carregar.
- O glossário selecionado existe mas não tem nenhuma linha preenchida no formato Title + Value, ou foi salvo sem valores após uma importação de arquivo malsucedida, deixando o Select sem itens.
- O meta field foi criado com Object type ou Field type diferente de Select, Radio ou Checkbox, que são os únicos tipos que aceitam glossário como fonte de dados segundo a doc do JetEngine.
- O campo aponta para um glossário que foi renomeado ou excluído depois de configurado, quebrando a referência entre o Select e a fonte de opções.
Como resolver
- Confirme que o glossário tem valores no formato Title + Value: Em JetEngine, abra a área de Glossaries e confirme que o glossário usado pelo campo tem pelo menos uma linha com Title e Value preenchidos. Um glossário vazio faz o Select renderizar sem opções, então adicione os pares ou reimporte o arquivo antes de seguir.
Painel WP -> JetEngine -> Glossaries Abra o glossário e confirme as linhas no formato Title + Value Adicione manualmente ou reimporte o arquivo se a lista estiver vazia - Ative a opção Get options from the glossary no meta field: Abra o meta field do tipo Select e ative o controle Get options from the glossary. Com o toggle desligado o campo usa apenas a lista manual de opções e ignora o glossário, o que deixa o Select vazio quando não há opções digitadas.
Painel WP -> JetEngine -> Post Types (ou CCT/Meta Box/Options Page) Abra o item e vá até a aba Meta Fields, edite o campo Select Ligue o toggle 'Get options from the glossary' - Selecione o glossário correto como fonte do campo: Com o toggle ativo, surge o seletor de glossário. Escolha nele o glossário que contém os valores desejados. Se nenhum glossário for selecionado, o Select continua sem itens mesmo com o toggle ligado.
No campo Select, abra o seletor de glossário exibido sob 'Get options from the glossary' Escolha o glossário com os valores Title + Value Salve o Post Type ou o Custom Content Type - Confirme o tipo de campo aceito pelo glossário: Verifique se o Field type do meta field é Select, Radio ou Checkbox, os únicos que aceitam glossário como fonte segundo a documentação do JetEngine. Se estiver em outro tipo, troque o Field type e configure a fonte novamente.
Painel WP -> JetEngine -> Post Types -> aba Meta Fields Confirme o Field type como Select, Radio ou Checkbox Reaplique 'Get options from the glossary' após trocar o tipo - Salve, limpe o cache e recarregue o editor: Depois de salvar a configuração, limpe qualquer cache de objeto ou de página e recarregue o editor do post. O Select deve listar os valores do glossário tanto no editor quanto no frontend após a atualização.
Salve o Post Type / CCT / Options Page no JetEngine Limpe o cache de objeto e de página do site Recarregue o editor do post e confira o campo Select
<?php
/**
* Garante que o glossario do JetEngine usado por um campo Select
* tenha valores antes de o campo tentar renderizar as opcoes.
* Use quando os pares Title + Value sao montados dinamicamente.
*/
add_filter( 'jet-engine/glossaries/data/fields', 'full_jetengine_fill_glossary', 10, 2 );
function full_jetengine_fill_glossary( $options, $glossary_id ) {
// Aplica somente ao glossario alvo (ajuste o ID conforme o seu).
if ( 'estados-br' !== $glossary_id ) {
return $options;
}
// Se o glossario veio vazio, injeta pares Title => Value dinamicos.
if ( empty( $options ) ) {
$options = array(
'SP' => 'São Paulo',
'RJ' => 'Rio de Janeiro',
'MG' => 'Minas Gerais',
);
}
return $options;
}














