Como corrigir Custom Fields que não aparecem no frontend no ACF PRO
Perguntas frequentes
Por que get_field() retorna vazio se o campo está preenchido?
Quase sempre é contexto: a chamada roda fora do The Loop ou em outro post, então o post_id padrão não é o dono do valor. Passe o ID correto no segundo parâmetro ou confira as Location Rules do field group.
Qual a diferença entre get_field() e the_field() para exibir o campo?
get_field() retorna o valor para você usar no PHP, e the_field() já imprime na tela, equivalente a echo get_field(). Para campos WYSIWYG, the_field() é preferível porque aplica os filtros de formatação do conteúdo.
Meu campo de imagem mostra um número em vez da foto, o que é?
O campo está com Return Format igual a ID ou Array. Troque para URL na configuração do campo, ou acesse a chave url do array no template antes de imprimir com esc_url().
Os campos sumiram depois que migrei o site, como recupero?
Os valores continuam no banco, mas o field group não está registrado em produção. Abra Custom Fields -> Field Groups e use Sync available para importar os grupos do acf-json, ou recrie a regra de localização.
Preciso usar field name ou field key na chamada?
Use o field name (ex.: subtitulo) nas chamadas do tema. O field key (field_xxxxxxxx) só resolve com o grupo registrado e serve para registro de campos via PHP, não para leitura no template.
Como exibo um campo de uma Options Page do ACF PRO?
Passe a string option como segundo parâmetro: get_field('telefone', 'option'). Sem isso o ACF procura o valor no post atual e devolve vazio, porque a Options Page não é um post.
Por que o campo aparece no editor mas não no frontend?
O editor lê o valor direto pelo field key, mas o frontend depende do field group estar registrado e da chamada estar no contexto certo. Verifique Location Rules, post_id e se o Local JSON foi sincronizado.














