---
title: "Como corrigir Custom Fields que não aparecem no frontend no ACF PRO"
url: https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/
date: 2026-06-17
author: "Clayton Margiotti"
---

# Como corrigir Custom Fields que não aparecem no frontend no ACF PRO

## O que é Custom Fields que não aparecem no frontend (ACF)?

Custom Fields que não aparecem no frontend é quando o campo tem valor salvo no editor do ACF PRO, mas a página pública mostra branco no lugar dele. O valor existe no banco (na tabela wp_postmeta), só não chega ao HTML. Na prática, a função get_field() ou the_field() do tema está sendo chamada com o nome de campo certo, mas no contexto errado: outro post, fora do The Loop, antes de o field group carregar, ou esperando um tipo de dado diferente do que o campo devolve. Por isso o erro é silencioso, sem mensagem fatal: o PHP só imprime uma string vazia.

## Como identificar

- A área do campo renderiza em branco no frontend, mas o valor aparece preenchido ao editar o post no painel.

- var_dump( get_field('nome_do_campo') ) imprime bool(false) ou string vazia em vez do valor salvo.

- the_field('imagem') imprime um ID numérico cru ou um array em vez da URL da imagem.

- O campo aparece em um post e some em outro do mesmo tipo, ou some apenas no arquivo (archive) e na home.

- Depois de migrar de staging para produção, todos os campos passam a vir vazios de uma vez.

## Como prevenir

- Sempre passe o segundo parâmetro post_id em get_field() e the_field() quando o código rodar fora do single do próprio post.

- Versione a pasta acf-json no tema para que field groups viajem com o código e sincronizem automaticamente em cada ambiente.

- Escape toda saída de campo com esc_html(), esc_url() ou wp_kses_post() antes de imprimir, evitando que dados quebrem o HTML.

- Padronize o uso de field name em vez de field key nas chamadas, reservando o key apenas para registro de campos via PHP.


---

## Metadados Estruturados (Schema.org)

```json-ld
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://full.services/#org",
            "name": "FULL Services",
            "url": "https://full.services/",
            "sameAs": [
                "https://www.instagram.com/fullservicesbr",
                "https://www.facebook.com/fullservices.br",
                "https://www.linkedin.com/company/fullservicesbr/"
            ],
            "knowsAbout": [
                "WordPress",
                "WordPress Hosting",
                "Web Development",
                "Performance Optimization",
                "WordPress Security",
                "SEO para WordPress"
            ],
            "award": [
                "Gold Medal - The WP Weekly Awards 2023",
                "Gold Medal - The WP Weekly Awards 2024"
            ],
            "logo": {
                "@type": "ImageObject",
                "url": "https://full.services/wp-content/uploads/full-services-logo.png",
                "width": 200,
                "height": 60
            },
            "hasCredential": {
                "@type": "EducationalOccupationalCredential",
                "credentialCategory": "certification",
                "name": "CVE Numbering Authority (CNA)",
                "description": "Autoridade de numeração de vulnerabilidades (CVE) para o ecossistema WordPress, autorizada a atribuir IDs CVE. Válida desde 2022-05-03, com abrangência global.",
                "url": "https://www.cve.org/PartnerInformation/ListofPartners/partner/FULL",
                "recognizedBy": {
                    "@type": "Organization",
                    "name": "CISA — Cybersecurity and Infrastructure Security Agency",
                    "url": "https://www.cisa.gov/",
                    "sameAs": "https://www.cisa.gov/"
                }
            }
        },
        {
            "@type": "TechArticle",
            "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#article",
            "headline": "Como corrigir Custom Fields que não aparecem no frontend no ACF PRO",
            "url": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/",
            "inLanguage": "pt-BR",
            "datePublished": "2026-06-17T12:39:06-03:00",
            "dateModified": "2026-06-17T12:39:06-03:00",
            "author": {
                "@id": "https://full.services/#org"
            },
            "publisher": {
                "@id": "https://full.services/#org"
            },
            "isAccessibleForFree": false,
            "about": [
                {
                    "@type": "Thing",
                    "@id": "https://www.wikidata.org/wiki/Q13166",
                    "name": "WordPress",
                    "sameAs": "https://www.wikidata.org/wiki/Q13166",
                    "url": "https://wordpress.org/"
                },
                {
                    "@type": "Thing",
                    "name": "Page Builders"
                }
            ],
            "mentions": {
                "@type": "Thing",
                "@id": "https://www.wikidata.org/wiki/Q13166",
                "name": "WordPress",
                "sameAs": "https://www.wikidata.org/wiki/Q13166",
                "url": "https://wordpress.org/"
            },
            "mainEntityOfPage": {
                "@type": "WebPage",
                "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/"
            },
            "wordCount": 788,
            "description": "Custom fields do ACF PRO que não aparecem no frontend acontecem quando get_field() ou the_field() retorna vazio porque o field group não cobre o post atual, o post_id passado está errado ou o return format não bate com o que o template tenta imprimir.",
            "articleSection": "Page Builders",
            "keywords": "acf custom field vazio php, acf field group location rules frontend, acf get_field retorna vazio, campo acf nao aparece no tema, the_field nao exibe valor acf",
            "proficiencyLevel": "Intermediate",
            "citation": {
                "@type": "CreativeWork",
                "url": "https://www.advancedcustomfields.com/resources/get_field/",
                "name": "Advanced Custom Fields — get_field()"
            },
            "mainEntity": {
                "@type": "SoftwareSourceCode",
                "name": "Como corrigir Custom Fields que não aparecem no frontend no ACF PRO",
                "programmingLanguage": "PHP",
                "codeRepository": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/",
                "isAccessibleForFree": false
            }
        },
        {
            "@type": "FAQPage",
            "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#faq",
            "isPartOf": {
                "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#article"
            },
            "isAccessibleForFree": true,
            "mainEntity": [
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#faq-q1",
                    "name": "Por que get_field() retorna vazio se o campo está preenchido?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "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.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#faq-q2",
                    "name": "Qual a diferença entre get_field() e the_field() para exibir o campo?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "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.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#faq-q3",
                    "name": "Meu campo de imagem mostra um número em vez da foto, o que é?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "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().",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#faq-q4",
                    "name": "Os campos sumiram depois que migrei o site, como recupero?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "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.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#faq-q5",
                    "name": "Preciso usar field name ou field key na chamada?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "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.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#faq-q6",
                    "name": "Como exibo um campo de uma Options Page do ACF PRO?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "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.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/#faq-q7",
                    "name": "Por que o campo aparece no editor mas não no frontend?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "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.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                }
            ]
        }
    ]
}
```
