Tutoriais confiáveis de WordPress, quando você mais precisa.
Guia para Iniciantes em WordPress
WPB Cup
30 Milhões+
Sites usando nossos plugins
20+
Anos de experiência com WordPress
3000+
Tutoriais de WordPress por especialistas

Como Corrigir o Limite de Itens de Menu Personalizados no WordPress

Se você adicionou vários itens ao seu menu do WordPress e alguns se recusam a salvar, ou pior, desaparecem completamente, você provavelmente atingiu o limite max_input_vars do seu servidor. Essa configuração limita quantos campos de entrada o PHP aceita em uma única solicitação, e os itens de menu podem rapidamente exceder esse limite.

O WordPress corrigiu o bug subjacente na versão 4.5.3. Se você ainda estiver enfrentando esse problema, geralmente é causado por um tema, plugin ou construtor de páginas que excede o limite do seu servidor.

Neste artigo, mostraremos como corrigir o limite de itens de menu personalizados no WordPress.

Como Corrigir o Limite de Itens de Menu Personalizados no WordPress

O Que Causa o Limite de Itens de Menu

O limite de itens de menu personalizados no WordPress geralmente é causado pela configuração max_input_vars de PHP do seu servidor. Essa configuração controla quantos campos de formulário o PHP pode aceitar ao salvar um menu do WordPress. A maioria dos servidores a define como 1.000 por padrão.

Cada item de menu usa vários campos de formulário, incluindo o rótulo, URL, destino, classes CSS e muito mais. À medida que seu menu cresce, o número total de campos pode eventualmente exceder esse limite. Quando isso acontece, o PHP pode parar de processar alguns dos campos ao salvar o menu, fazendo com que alguns itens desapareçam.

Se você ainda estiver vendo este erro hoje, seu tema, construtor de páginas ou um plugin podem estar adicionando campos extras ao formulário do menu ou alterando a forma como o menu é salvo. Você pode ver uma mensagem como "PHP max input vars deve ser de pelo menos 5000."

Se alguns itens de menu desapareceram, não salve o menu novamente ainda. Fazer isso pode sobrescrever o menu com os itens ausentes. Corrija o limite de variáveis de entrada primeiro, depois retorne ao menu e restaure quaisquer itens ausentes.

Dito isso, vamos guiá-lo sobre como corrigir o limite de itens de menu personalizados no WordPress. Aqui está tudo o que cobriremos neste artigo:

Etapa 1: Atualize o WordPress e Verifique Seu Limite Atual

Primeiro, certifique-se de que o WordPress esteja executando a versão mais recente. Isso por si só resolve a versão clássica deste bug.

Vá para Painel » Atualizações e instale quaisquer atualizações principais pendentes.

Tela de atualizações do painel administrativo do WordPress

Em seguida, verifique qual é a configuração atual do max_input_vars do seu servidor.

Vá para Ferramentas » Saúde do Site » Informações e, em seguida, abra a seção 'Servidor'. Você verá max_input_vars listado com seu valor atual.

Verificando max_input_vars nas informações do servidor da Saúde do Site

Se for inferior a 1.000, ou se seu tema ou plugin especificamente exigir um número maior, você precisará aumentá-lo usando um dos métodos abaixo.

Método 1: Aumente o Limite no Seu Painel de Hospedagem

Muitos hosts WordPress permitem que você altere as configurações de PHP sem tocar em nenhum arquivo. Em hosts que usam cPanel, isso é feito através do Editor MultiPHP INI.

Primeiro, faça login no cPanel e navegue até Software » Editor MultiPHP INI.

Acessando o Editor MultiPHP INI no cPanel

Em seguida, selecione seu domínio no menu suspenso e, em seguida, encontre 'max_input_vars' e defina-o como '5000'. Clique em 'Aplicar'.

Configurando max_input_vars no cPanel

Se o seu host não usa cPanel, procure por uma tela de 'Configurações de PHP' ou 'Configuração de PHP' no painel de hospedagem. A maioria dos hosts WordPress gerenciados oferece algo semelhante.

Método 2: Edite Seu Arquivo .user.ini ou php.ini

💡 Importante: Editar .user.ini ou php.ini pode afetar todo o seu site. É uma boa ideia criar um backup completo do WordPress antes de fazer alterações.

Se o seu provedor de hospedagem não oferecer um painel de configurações de PHP, você pode aumentar o limite de max_input_vars editando um arquivo de configuração de PHP.

A maioria dos hosts compartilhados usa um arquivo .user.ini, que geralmente pode ser encontrado na pasta raiz do seu WordPress. Algumas configurações de servidor usam php.ini em vez disso.

Abra o arquivo apropriado com o gerenciador de arquivos do seu host ou um cliente FTP e adicione:

max_input_vars = 5000

Salve o arquivo e envie-o de volta para o mesmo local, se necessário. Observe que as alterações em .user.ini geralmente levam alguns minutos para entrar em vigor.

Editando php.ini para max_input_vars

Não tem certeza de qual arquivo editar ou onde encontrá-lo? Veja nosso guia sobre onde está o php.ini no WordPress para instruções específicas de cada provedor.

Método 3: Edite Seu Arquivo .htaccess

💡 Importante: Um erro de sintaxe em .htaccess pode tirar todo o seu site do ar com um Erro Interno do Servidor 500. Faça backup do seu site antes de editar este arquivo.

Se o seu site roda em um servidor Apache, você também pode aumentar o limite de max_input_vars através do seu arquivo .htaccess. Este arquivo de configuração do servidor geralmente está localizado no diretório raiz do seu WordPress.

Abra o arquivo .htaccess com o gerenciador de arquivos da sua hospedagem ou um cliente FTP e adicione:

php_value max_input_vars 5000
Editando .htaccess para max_input_vars

Salve o arquivo e verifique seu menu do WordPress novamente.

Lembre-se que este método é apenas para Apache. Se o seu site sair do ar após salvar, remova a linha que você acabou de adicionar e tente um dos outros métodos.

Não consegue ver seu arquivo .htaccess? Veja nosso guia completo sobre como encontrar seu arquivo .htaccess.

Método 4: Pergunte ao Seu Provedor de Hospedagem

Se nenhum dos métodos acima estiver acessível para você, a maioria dos provedores fará essa alteração para você. Você pode copiar e colar esta mensagem para a equipe de suporte deles:

Olá, você poderia aumentar a configuração PHP max_input_vars para 5000 para o meu site? Estou encontrando um problema ao salvar o menu do WordPress causado pelo limite atual. Obrigado!

Se você está pesquisando por um provedor que lhe dê mais controle direto sobre as configurações de PHP, veja nosso guia sobre a melhor hospedagem WordPress.

Verifique a Correção

Depois de aumentar o limite de max_input_vars, é uma boa ideia verificar se o novo valor está ativo antes de reconstruir seu menu.

Simplesmente volte para Ferramentas » Saúde do Site » Info » Servidor e confirme se max_input_vars agora mostra 5000 (ou seu novo valor).

max_input_vars nas informações do servidor da Saúde do Site aumentado

Em seguida, você pode ir para Aparência » Menus, reconstruir quaisquer itens ausentes e salvar. Seu menu completo agora deve ser salvo sem perder nada.

Ainda Não Salva? Outras Coisas para Verificar

  • Desative seus plugins um por um, salvando o menu após cada um, para encontrar aquele que está em conflito.
  • Se você estiver usando um tema de blocos, observe que o bloco de Navegação do Editor de Site armazena os dados do menu de forma diferente e não é afetado por este limite.
  • Gerenciando um menu muito grande (mais de 100 itens)? Nossos guias sobre como adicionar um menu de navegação no WordPress e nosso tutorial de mega menu cobrem abordagens criadas para menus maiores.

Esperamos que este guia tenha ajudado você a corrigir o limite de itens de menu personalizados no WordPress. Em seguida, você pode querer conferir nossos guias sobre solução de problemas de erros do WordPress ou aumentar o desempenho do WordPress.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

80 ComentáriosDeixe uma Resposta

  1. Olá

    Aparência -> Menu -> ao clicar -> redirecionando para -> página 404

    Adicionei alguns menus principais e categorias ao meu site. depois de um tempo, não consegui abrir o menu para modificar ou excluir nada. meu site está redirecionando para a página 404. Tentei muitos códigos, mas nada funciona. Por favor, me ajude

  2. Eu tive o mesmo problema... mas estou em localhost... então não tenho ninguém para pedir ajuda! (Windows 10/XAMPP/WP4.8). Novo no WP, nem sei onde encontrar o php.ini! Minha "solução rápida" foi remover alguns itens de submenu menos importantes. Mas quero colocá-los de volta. Verifiquei o aumento de memória mencionado acima, mas é antigo. Pode não funcionar no WP4.8. Não vale o risco!

  3. Olá.

    Obrigado pelas ótimas informações. Finalmente resolvi o problema na hospedagem GoDaddy criando um arquivo ph5.ini no Webroot com as seguintes informações:

    memory_limit = 256M;
    max_execution_time = 300;
    max_input_vars = 3000;

    problema resolvido após o atendimento ao cliente redefinir o banco de dados, algo que eu não conseguia fazer. Espero que isso ajude.

  4. Olá, obrigado por isso

    Eu executo e tive esse problema. Eu tinha um menu longo e um dia ele diminuiu para apenas 50 linhas. O suporte do tema enviou para este tópico. Eu tentei todas as opções, mas apenas uma funcionou para mim, mesmo sem entrar em contato com o suporte de hospedagem.

    Eu adicionei “php_value max_input_vars 5000” (sem aspas) ao meu arquivo .htaccess antes da linha “#fim do wordpress” e isso resolveu o problema.

  5. Olá Equipe,

    Estou usando Hostgator com Multidomain SSL.

    Verifiquei as configurações e não sei onde e como fazer.

    Adicionei o arquivo php.ini com o código max_input_vars=9000; e ainda não consigo adicionar itens ao menu principal.

    Alguém me ajude. Muito apreciado.

    Atenciosamente,
    -Rams

  6. Estou tendo esse problema agora, contatei os hosts que dizem que não podem / não aumentarão para 5000 vars porque é um servidor compartilhado, existe alguma outra solução? é possível ter dois menus de navegação na mesma página, isso resolveria o problema, ou continuaria simplesmente.

    Agradeço antecipadamente, qualquer ajuda seria muito apreciada

  7. Incrível. Eu tenho o mesmo problema há muito tempo sem saber o motivo. Perguntei a muitas pessoas. Só hoje consertei meu problema. HostGator não precisa ligar para o representante do centro de atendimento. Podemos fazer isso sozinhos. Realmente útil, sem palavras para agradecer

  8. Mahalo nui loa (muito obrigado)!

    Isso funcionou para o site de um cliente que está na Bluehost, hospedagem compartilhada:
    1. Cpanel > Gerenciador de Arquivos
    2. public_html > wp-admin
    3. Clique em “Novo Arquivo” > nomeie-o como php.ini (se você ainda não tiver este arquivo)
    4. Clique em php.ini > clique em “editar” > clique em “editar” novamente
    5. Cole: max_input_vars=5000; > Salvar > FEITO

      • Eu tentei,

        no arquivo .htaccess:
        php_value max_input_vars 5000

        no arquivo php.ini:
        max_input_vars=5000;
        upload_max_filesize = 70M;
        post_max_size = 128M;
        upload_tmp_dir = 70M;
        max_input_vars = 3000;
        memory_limit = 256M;

        no arquivo .user.ini:
        max_input_vars=3000;

        e também testei colocando php.ini & .user.ini na pasta wp-admin e fora dela, nada funciona para mim,

        ao adicionar no arquivo .htaccess a página de admin do wp fica em branco (branca).
        meu hosting é

        qualquer ajuda é apreciada. TIA

  9. Eu uso GoDaddy e a correção do php.ini não funcionou nada para mim. A GoDaddy nem reconhece essa página ou código como válido.

    Obtendo ajuda das pessoas da GoDaddy, eles me forneceram uma solução alternativa.

    Criei uma página na minha pasta html .user.ini (ponto-user-ponto-ini). Nessa página adicionei o código:

    max_input_vars = 3000

    Parece funcionar até agora.

    • criei uma página na minha pasta html .user.ini (ponto-user-ponto-ini) -> você quis dizer criar um ARQUIVO na sua pasta PUBLIC_HTML?

      Por favor, confirme, pois tenho o mesmo problema aqui no servidor godaddy também.
      E não consigo contatá-los há semanas.

      Não sei por que é tão difícil contatar a GoDaddy.

      • Akut Eu também uso GoDaddy.

        Encontrei meu arquivo php.ini no gerenciador de arquivos – pasta public_html, NÃO em php.admin, nem precisei criar o arquivo php.ini.

        A Godaddy parece pensar que é um problema do WP, e me deram muitas voltas sobre essa questão específica.

        Eles me direcionaram a aumentar meu limite de tamanho de arquivo. (Não é a mesma solução).

    • Esta solução foi a única que funcionou na plataforma de hospedagem 1and1:

      Criei uma página na minha pasta html .user.ini (ponto-user-ponto-ini). Nessa página adicionei o código:

      max_input_vars = 3000

    • Lou, à primeira vista (e primeiro teste) parece ter funcionado perfeitamente – obrigado!

      Atualizarei se encontrar mais problemas.

  10. Eu tive um problema ao adicionar um submenu no site do WordPress, ele se converte em link personalizado.
    Por favor, me ajude a resolver este erro

  11. apenas remova o wordpress; e vá para o magento, a melhor solução funcionou para mim depois de tentar por 2 meses, encontrei a melhor solução.

  12. No Ubuntu VPS, consegui corrigir isso descomentando e definindo valores mais altos como abaixo.

    max_input_nesting_levels = 500
    max_input_vars = 5000

    Mas de qualquer forma, obrigado, pois isso forneceu um caminho para a solução.

    • eu te amo cara!
      sua solução também resolveu outro problema meu! o problema era

      “Depois de salvar o menu na aba “Editar Menu”, a opção “Configurações do Menu -> Localização do Tema” não mantinha a marcação e na aba “Gerenciar Localizações”, a localização do menu era removida.”

    • Oi cara,
      Estou rodando o WordPress multisite e tenho alguns problemas para adicionar mais campos personalizados ao meu site, tentei de tudo e nada ajudou e vi sua resposta sobre aumentar o max_input_nesting_levels = 500. Estou tentando aumentar esse valor em um VPS com Ubuntu 16.04 no arquivo PHP.Ini, mas sem sucesso. O info.php ainda mostra max_input_nesting_levels = 64. Agradeço se puder me dizer como você aumentou esse valor, seja através do arquivo PHP.ini ou do arquivo htaccess?

      BR,

  13. Amigos da HostGator – Mesmo Problema & Isso Resolveu:

    1. Cpanel > Gerenciador de Arquivos

    2. public_html > wp-admin

    3. Clique em “Novo Arquivo” > nomeie-o como php.ini (se você ainda não tiver este arquivo)

    4. Clique em php.ini > clique em “editar” > clique em “editar” novamente

    5. Cole: max_input_vars=5000; > Salvar > FEITO

    • Olá,

      Meu site está hospedado na GoDaddy. Criei o php.ini em wp-admin e colei a única linha max_input_vars=5000;

      Ainda não consegui adicionar mais menus.

    • Obrigado pelas sugestões. Segui sua sugestão e adicionei o arquivo php.ini com max_input_vars=5000; e isso resolveu meu problema. Obrigado mais uma vez

    • 1 – Faça um arquivo de texto
      2 – Coloque isso nele " max_input_vars=5000; " (sem as aspas
      3 – Salve como php.ini
      4 – Conecte-se via FTP em public_html > wp-admin

      PERFEITO
      Obrigado!!!

    • Mesmo problema no meu site

      Meu site hospedado na HostGator. Adicionei o arquivo php.ini em /wp-admin, mas isso não está funcionando para mim. Por favor, me ajude.

  14. Estou tendo esse problema também. Fui direcionada para este site por um técnico da Studio Press. Tenho uma conta de hospedagem compartilhada com a Host Gator. Eles aumentaram meu max_input_vars para 7000, porque eu não estava chegando a lugar nenhum com 3000 ou 5000. Criei um php.ini com suas recomendações em meu wp-admin. Ainda sem sorte. Preciso deletar o php.ini na minha pasta pública, já que criei um em wp-admin? Estou tentando tanto resolver isso. Muito obrigada.

  15. Como estou em hospedagem compartilhada, colocar o php.ini na pasta raiz não funcionou para mim. Mas colocá-lo na pasta wp-admin funcionou. Acho que isso ocorre porque o arquivo nav-menus.php está na pasta wp-admin.

  16. Olá Pessoal, ... sim, eu também me deparei com este problema/questão do menu ... e posso dizer UAU!!! Em algum lugar entre 50 e 100 páginas, o último item que coloquei no menu estava sendo removido e/ou caindo da navegação principal do menu! O quê?!!!

    Novatos e outros geeks sabem disso (problema) ... e estou falando apenas do meu caso, embora o faça na esperança de que alguém que experimente o mesmo pesadelo possa se beneficiar ... então vamos lá.

    Com ‘hospedagem compartilhada’ usando HostGator… não haverá ‘suhosin’, que aparentemente é um patch/programa etc. para erros de script com php projetado para proteger ‘servidores’ de acordo com um representante da HostGator, … agora, apesar desse detalhe, continuamos… o que era importante no meu caso, … que finalmente fiz meu contato da HostGator, pessoa nº 3, entender, através de toda a minha divagação sobre o problema, foi a parte sobre ‘max_input_vars = 3000’.

    Meu representante da HostGator me colocou em espera, investigou o problema e determinou que o ‘max_input_vars = 3000’ precisava ser colocado no arquivo php.ini, … ao qual apenas a HostGator tem acesso, … não o arquivo php.ini que está em nosso diretório ‘home’ ou ‘root’, ao qual eu/nós todos temos acesso, através de nossas contas com a HostGator ou outros provedores de hospedagem, usando o CPanel, como costumamos chamar esse ponto de acesso.

    Este arquivo php.ini não é, de forma alguma, acessível pela internet por mim, ou por nós, como titulares de contas com acesso à conta de hospedagem, entendeu? Bom, e bom saber.

    Agora, o que eu fiz foi pegar o que Alex, logo abaixo desta postagem, disse para fazer, e coloquei essas linhas de texto/código em um arquivo php.ini que então coloquei na minha área de arquivos public_html, dentro da minha pasta ‘wp-admin’, para o domínio com o qual eu estava trabalhando. Por um tempo, pensei que esse ‘conserto’ estava funcionando, então hoje, eu estava adicionando mais páginas e ‘oh alegria’ os itens de navegação do menu principal estavam caindo da linha, caramba!!

    Voltei ao problema, revisei toda esta postagem e o tópico do ‘Coretrac Ticket’, que está um pouco acima do meu entendimento, mas ainda assim, fui diligente e determinado. E então voltei à luta com o pessoal da HostGator para a reunião nº 2, completei a chamada e tive que voltar, com a pessoa nº 3 que foi o encanto.

    Por último, o que aprendi é que o que ‘max_input_vars = 3000’ se refere é quantas páginas sua instalação/domínio/WordPress pode ter, o ‘3000’ significa páginas. Meu representante da HostGator inseriu 5000 páginas.

    Então, adicionei duas novas páginas de teste na hora com ele ainda ao telefone e relatamos 'alegria'! Yay! Eu também devo ser capaz de adicionar páginas à vontade! Que você também experimente a ALEGRIA do WordPress!

    Saúde,
    Gadget

    • O problema foi resolvido com o arquivo php.ini na pasta wp-admin com a seguinte linha em uma conta de hospedagem compartilhada da HostGator.

      max_input_vars = 9000;

      Obrigado

  17. Crie um arquivo php.ini, mas não na raiz! ( public_html )
    na pasta “wp-admin” e adicione:

    max_input_vars = 3000;

    Eu também tenho:
    upload_max_filesize = 70M;
    post_max_size = 128M;
    upload_tmp_dir = 70M;
    max_input_vars = 3000;
    memory_limit = 256M;

  18. Olá, obrigado por esta ótima dica! Tive o mesmo problema com o UberMenu. Agora adicionei php_value max_input_vars 5000 ao meu arquivo .htaccess e isso resolveu o problema.

  19. Tentei algumas coisas sem sucesso. Pedi ao meu provedor para fazer essas alterações de configuração do PHP. Também ativei o plugin Memory Bump e depois o removi, como sugerido por outros.

    Meu tema (Twenty Ten) suporta apenas um menu. Consigo criar outro menu e fazer alterações lá sem problemas. Tenho um site ativo, então estou um pouco limitado em termos da quantidade de experimentação que posso fazer.

    Alguma outra ideia? Tentarei qualquer coisa neste momento.

  20. Tenho o mesmo problema, e o plugin Memory Bump não o resolveu.

    Contatei meu provedor de hospedagem, e eles disseram que eu ainda não tenho um arquivo php.ini e que tenho que criá-lo, ou o WP tem que criá-lo para mim...

    Como faço isso?

  21. Parece que uma solução simples seria a funcionalidade ajax do WP avaliar o número de itens na lista e dividi-lo em várias requisições sequenciais em vez de uma grande requisição.

    É estranho para mim que a equipe do WordPress não tenha pensado nisso com antecedência, mas acho que a plataforma é tão robusta que eles simplesmente têm muita coisa para fazer. Posso acabar fazendo isso sozinho, mas é claro que terei que fazer de uma forma que não seja sobrescrita por futuras atualizações. Que chato!

  22. Estou na mesma situação que Mat Lipe. Eu estava tendo problemas porque meu servidor não tem o suhosin instalado. Consegui corrigir o problema adicionando a diretiva que Mat postou ao meu arquivo php.ini. Obrigado.

  23. Eu acabei de ter o mesmo problema e depois de dias de e-mails trocados com o suporte da we hosting, finalmente foi resolvido!

    Eles fizeram as seguintes alterações:

    Eles adicionaram max_input_vars = 5000 em php.ini

    É isso, e agora funciona perfeitamente e estou adicionando páginas à vontade.

  24. Olá,

    Meu servidor não está executando o suhosin, então consegui corrigir esse problema adicionando isso ao meu arquivo php.ini e reiniciando meu servidor.

    max_input_vars = 5000

    Espero que isso ajude qualquer outra pessoa com o mesmo problema

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.