0
504

SHARE

Como Resolver o Erro “register_rest_route foi chamada incorretamente” no WordPress

Se você trabalha com APIs REST no WordPress, pode ter encontrado o aviso: “A função register_rest_route foi chamada incorretamente”.

Se você trabalha com APIs REST no WordPress, pode ter encontrado o aviso:
“A função register_rest_route foi chamada incorretamente”.

Ou:

“Notice: Function register_rest_route was called incorrectly. The REST API route definition…”

Isso ocorre ao registrar uma rota sem definir o parâmetro obrigatório permission_callback. Vamos explicar o problema e como resolvê-lo!


Por que ocorre o erro?

Desde o WordPress 5.5, o parâmetro permission_callback é obrigatório em rotas REST. Ele garante segurança ao validar permissões.

Se ausente, o WordPress exibe um aviso, como:

“The REST API route definition is missing the required permission_callback argument.”


Como corrigir o erro?

A solução é simples: adicionar o permission_callback ao registrar sua rota com register_rest_route.

Exemplo de código corrigido:

register_rest_route( 'meuplugin/v1', '/exemplo', array(
    'methods' => 'GET',
    'callback' => 'meu_callback',
    'permission_callback' => '__return_true', // Permite acesso público
) );

Entendendo o parâmetro permission_callback

O permission_callback é uma função usada para verificar permissões antes de processar a requisição.

Casos comuns de uso:

  1. Rota pública (sem restrições):
    Use __return_true para permitir acesso público. 'permission_callback' => '__return_true',
  2. Rota privada (restringindo acesso):
    Use current_user_can para validar permissões. 'permission_callback' => function() { return current_user_can( 'edit_posts' ); },
  3. Validação personalizada:
    Baseie a permissão em argumentos da requisição. 'permission_callback' => function( $request ) { return $request->get_param( 'token' ) === 'seu_token_secreto'; },

Como evitar futuros erros?

  1. Valide seu código:
    Sempre inclua o permission_callback ao registrar rotas.
  2. Consulte a documentação oficial:
    Veja detalhes em:
  3. Atualize regularmente:
    Garanta que seu WordPress esteja na versão mais recente para evitar problemas.

Exemplo completo com rota REST personalizada

add_action( 'rest_api_init', function () {
    register_rest_route( 'meuplugin/v1', '/dados', array(
        'methods' => 'GET',
        'callback' => 'meu_callback',
        'permission_callback' => function() {
            return current_user_can( 'read' );
        },
    ) );
} );

function meu_callback( $request ) {
    return array( 'mensagem' => 'API funcionando!' );
}

Com isso, sua rota estará funcional e segura.


Conclusão

Adicionar o permission_callback evita erros no WordPress e aumenta a segurança da sua API.

Verifique sempre sua implementação e consulte a documentação oficial para detalhes.

Se tiver dúvidas, comente abaixo!

Quer aprender mais sobre WordPress? Confira nosso conteúdo no WP24Horas e domine APIs REST!

Não perca mais nenhuma atualização aqui!

Ative as Notificações!

Clique aqui e, em seguida, clique em Permitir na caixa que aparecerá na parte superior da janela, próximo à barra de endereços.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! Ao se tornar um assinante do WP24Horas, você terá acesso a:

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!

Não perca mais nenhuma atualização aqui!

Tabela de Conteúdo
PUBLICIDADE
Últimos Posts
Adicionando Imagem Ícone e Classe CSS Personalizada em Bloco Gutenberg

Ícones, Imagens e Classes Personalizadas no Gutenberg

Atributos Visuais e Estilo Dinâmico com Gutenberg

Cor, Alinhamento e Estilo Dinâmico com Gutenberg + React

Como Estilizar Blocos Gutenberg com CSS e Classes Dinâmicas

Estilizando Blocos Gutenberg com CSS e Classes Dinâmicas

Criando Campos Dinâmicos e InspectorControls no Gutenberg

Campos Dinâmicos e InspectorControls no Gutenberg: Deixe Seu Bloco Interativo

Criando Blocos Personalizados com Gutenberg e React

Criando Blocos Personalizados com Gutenberg e React

Como Criar Comandos WP-CLI Personalizados para Plugins

Criando Comandos WP-CLI Personalizados para Plugins WordPress

Você precisa estar logado para ver esta informação.

Torne-se um Assinante e Eleve seu Conhecimento do WordPress!

Acesso Exclusivo, Suporte Especializado e Muito Mais.

Se você está aproveitando nosso conteúdo gratuito, vai adorar os benefícios exclusivos que oferecemos aos nossos assinantes! 

Não perca a oportunidade de maximizar seu potencial no WordPress. Clique no botão abaixo para se tornar um assinante e leve suas habilidades ao próximo nível!