Como corrigir Call to undefined function no WordPress
O que é o erro Call to undefined function?
O Call to undefined function no WordPress é o erro fatal que o PHP emite quando tenta executar uma função que não foi declarada no momento da chamada. Isso acontece quando um plugin ou tema usa uma função de outro plugin que está inativo, quando uma extensão do PHP (como mysqli, gd ou curl) não está instalada, ou quando o código chama uma função nativa do WordPress antes do core carregar. Como o PHP não encontra a função, ele para o script na hora e a página não abre.
Como identificar
- Mensagem “Fatal error: Uncaught Error: Call to undefined function nome_da_função() in /caminho/arquivo.php on line N”, citando a função, o arquivo e a linha.
- Variações citando funções do core como “Call to undefined function wp_get_current_user()” ou “Call to undefined function get_header()” quando um arquivo é acessado direto, fora do WordPress.
- Variações citando extensões como “Call to undefined function mysqli_connect()” ou “Call to undefined function curl_init()”, indicando extensão do PHP ausente.
- O erro surge logo após ativar ou desativar um plugin, atualizar o PHP do servidor ou colar um snippet no functions.php.
Como prevenir
- Declare dependências entre plugins e nunca desative um plugin do qual outro depende sem testar
- Confira em Saúde do site se todas as extensões do PHP exigidas estão ativas após migrar de host ou trocar a versão do PHP
- Envolva chamadas a funções de plugins opcionais em function_exists() nos seus snippets do functions.php
Causa
- Plugin que fornece a função está desativado, enquanto outro plugin ou o tema ainda tenta chamá-la.
- Extensão do PHP necessária (mysqli, gd, curl, mbstring, intl) não está instalada ou foi desativada no servidor.
- Função nativa do WordPress chamada antes do core carregar, por acessar um arquivo PHP direto pela URL em vez de pelo fluxo do wp-load.
- Nome da função digitado errado ou função que foi removida em uma versão mais nova do plugin/tema.
- Snippet colado no functions.php que depende de um plugin que não está instalado naquele site.
Como resolver
- Leia o nome da função e o arquivo no erro: a mensagem cita a função exata e o arquivo que a chamou (ex.: wc_get_product em wp-content/plugins/...). Esse nome diz de onde vem a dependência.
- Reative o plugin que fornece a função: se a função é de outro plugin (ex.: funções com prefixo wc_ são do WooCommerce), reative esse plugin. O fatal some quando a dependência volta a estar ativa.
- Confirme a extensão do PHP: se o erro cita mysqli_, curl_, gd_, mb_ ou intl, a extensão do PHP está faltando. Verifique em Ferramentas > Saúde do site > Info, ou peça ao host para ativar a extensão no painel.
- Reverta a última edição do functions.php: se o erro surgiu após colar um snippet, remova o trecho adicionado por último via FTP. O código que rodava antes volta a funcionar.
- Proteja chamadas opcionais com function_exists: para snippets que dependem de plugins que podem estar inativos, envolva a chamada em uma checagem para não derrubar o site quando a função não existir.
// Protege a chamada quando a funcao pode nao existir (plugin opcional inativo).
// Em vez de chamar direto e arriscar o fatal:
if ( function_exists( 'wc_get_product' ) ) {
$produto = wc_get_product( $id );
} else {
// WooCommerce inativo: segue sem quebrar o site
$produto = null;
}
// Para extensoes do PHP, cheque a extensao antes de usar a funcao:
if ( extension_loaded( 'curl' ) ) {
$ch = curl_init();
}














