Il y a quelques jours à peine, l'un de nos utilisateurs a signalé un problème inhabituel. Le problème était qu'il atteignait la limite des éléments de menu personnalisés. Tout ce qu'il enregistrait après avoir atteint la limite d'éléments de menu ne s'enregistrait pas du tout. Nous n'avions jamais entendu parler de ce problème, nous avons donc décidé de l'essayer sur notre installation locale. Nous avons créé plus de 200 éléments de menu et les avons enregistrés. Cela a très bien fonctionné. Nous avons déplacé 100 éléments dans un menu déroulant et cela s'est très bien enregistré. À ce stade, nous savions que cela avait quelque chose à voir avec le serveur. Après des recherches plus approfondies, il semblait que beaucoup d'autres rencontraient le même problème. En creusant un peu plus, nous avons trouvé un ticket trac (#14134) qui mettait en évidence ce problème. Après avoir lu le très, très long ticket trac, il semble que le problème n'ait pas encore été résolu, mais il existe une solution de contournement pour ceux qui rencontrent ce problème. Dans cet article, nous vous montrerons comment corriger la limite des éléments de menu personnalisés dans WordPress.
Pour résoudre le problème, vous devez modifier votre fichier PHP.ini. Si vous êtes sur un serveur dédié ou sur un VPS avec accès root, vous devriez déjà savoir de quoi nous parlons. Si vous êtes sur un hébergement mutualisé ou si vous ne savez pas où se trouve le fichier PHP.ini, demandez à votre fournisseur d'hébergement Web de le faire pour vous.
Vous devez leur demander de définir les valeurs suivantes dans la configuration PHP.ini :
suhosin.post.max_vars = 5000 suhosin.request.max_vars = 5000
Un autre utilisateur « ronnieg » a posté une solution de contournement qu'il utilise pour son site et son menu immobilier volumineux (plus de 450 pages et en croissance). Vous pouvez lire sa réponse pour suivre. (Note : nous n'avons pas essayé celle-ci)
Explication du problème
This problem is not entirely WordPress based as different folks are seeing different limits (some say 16 others say 50 and as you already know we went as high as 200 without seeing any limits). In theory, WordPress is not limiting the number of menus you can have. Your web hosting server is. There are Suhosin limitations on the POST max variables which is limiting the large number of entries being saved. Nacin replied in the trac ticket to say that this is NOT a bug rather it is an enhancement. The core team has to find a way to work around the server limitations and figure out a better way to save the menu items, so regardless of your server configuration you do not see any custom menu limits. It’s easier said than done ![]()
WordPress est un projet open-source (volontaire), et l'équipe principale fait tout son possible pour l'améliorer chaque jour. Cela sera corrigé, mais le calendrier n'est pas encore défini car il est indiqué « Futures versions ».
Si vous avez essayé quelque chose de différent qui a résolu ce problème pour vous, veuillez nous le faire savoir dans les commentaires. Cela permettra aux autres de résoudre leur problème en attendant que l'équipe principale trouve une solution de contournement.
Tamim
Salut ! J'utilise un hébergement partagé. C'est pourquoi je n'ai pas d'accès root pour modifier le fichier phpi.ni. Comment puis-je résoudre le problème ?
Support WPBeginner
Salut Tamim,
Vous pouvez demander à votre fournisseur d'hébergement de le faire pour vous.
Admin
Satya
J'ai accès au fichier PHP.ini et je l'ai mis à jour comme vous l'avez mentionné, mais cela ne fonctionne pas.
Je ne suis pas sûr pourquoi, que dois-je faire ?
Maheshwaran
Salut
Apparence -> Menu -> en cliquant -> redirection vers -> page 404
J'ai ajouté quelques menus principaux et catégories sur mon site. Après un certain temps, je ne pouvais plus ouvrir le menu pour modifier ou supprimer quoi que ce soit. Mon site est redirigé vers une page 404. J'ai essayé de nombreux codes mais rien ne fonctionne. S'il vous plaît, aidez-moi.
Toni
J'ai rencontré le même problème... mais je suis en localhost... donc je n'ai personne à qui demander de l'aide ! (Windows 10/XAMPP/WP4.8). Nouveau sur WP, je ne sais même pas où trouver php.ini ! Ma « solution rapide » a été de supprimer certains éléments de sous-menu moins importants. Mais je veux tous les remettre. J'ai vérifié le problème de mémoire mentionné ci-dessus, mais il est ancien. Il se peut qu'il ne fonctionne pas sur WP4.8. Ça ne vaut pas le risque !
Nush
Salut.
Merci pour ces excellentes informations. J'ai finalement résolu le problème sur l'hébergement GoDaddy en créant un fichier ph5.ini dans le Webroot avec les informations suivantes :
memory_limit = 256M;
max_execution_time = 300;
max_input_vars = 3000;
problème résolu après que le service client ait réinitialisé la base de données, ce que je ne pouvais pas faire. J'espère que cela aidera.
Anton
Salut, merci pour ceci
J'ai eu le même problème. J'avais un long menu et un jour il a été réduit à seulement 50 lignes. Le support du thème a renvoyé vers ce sujet. J'ai essayé toutes les options, mais une seule a fonctionné pour moi, même sans contacter le support de l'hébergement.
J'ai ajouté « php_value max_input_vars 5000 » (sans les guillemets) à mon fichier .htaccess avant la ligne « #end of wordpress » et cela a résolu le problème.
Teodoz
Merci Anton ! La procédure avec le fichier .htaccess a sauvé mon site web ! Merci
Ajay Damraliya
Thanks bro
i was facing the same problem now its fixed.
Ramachandran
Bonjour l'équipe,
J'utilise Hostgator avec Multidomain SSL.
J'ai vérifié les paramètres et je ne sais pas où ni comment faire.
J'ai ajouté un fichier php.ini avec le code max_input_vars=9000 ; et je ne parviens toujours pas à ajouter d'éléments de menu dans le menu principal.
Quelqu'un peut m'aider. Merci beaucoup.
Cordialement,
-Rams
Ramachandran
J'ai configuré WordPress Multisite en utilisant Multidomain SSL.
Dann
J'ai ce problème en ce moment, j'ai contacté les hébergeurs qui disent qu'ils ne peuvent pas / ne veulent pas augmenter à 5000 variables car c'est un serveur partagé, y a-t-il une autre solution ? est-il possible d'avoir deux menus de navigation sur la même page, cela résoudrait-il le problème, ou cela continuerait-il simplement.
Merci d'avance, toute aide serait grandement appréciée
sdkmendis
Génial. J'ai eu le même problème pendant longtemps sans comprendre. J'ai demandé à beaucoup de monde. Juste aujourd'hui, j'ai résolu mon problème. hostGator n'a pas besoin d'appeler le centre d'appels. Nous pouvons le faire nous-mêmes. Vraiment utile, pas de mots pour remercier
Rajit
Quelle est la limite maximale que nous pouvons définir pour cela ? J'ai l'impression d'avoir épuisé la limite de 5000 également.
Rajit
En fait, j'ai épuisé la limite de 8000
Renee
Mahalo nui loa (merci beaucoup) !
Cela a fonctionné pour le site d'un client hébergé chez Bluehost, en hébergement mutualisé :
1. Cpanel > Gestionnaire de fichiers
2. public_html > wp-admin
3. Cliquez sur « Nouveau fichier » > nommez-le php.ini (si vous n'avez pas déjà ce fichier)
4. Cliquez sur php.ini > cliquez sur « Modifier » > cliquez à nouveau sur « Modifier »
5. Collez : max_input_vars=5000; > Enregistrer > TERMINÉ
vipin
Pas fonctionnel
Anjan Phukan
Salut Renee, tu m'as sauvé. Merci beaucoup.
Tan
Ça marche dans mon cas ! Tu es mon ange ! Partage fantastique. J'ai eu ce problème pendant 2 jours. Merci beaucoup !
Kelli
Renee – cela a également fonctionné pour mon client. Merci ! Ils sont hébergés chez HostGator.
Hasan
J'ai essayé,
dans le fichier .htaccess : php_value max_input_vars 5000
dans le fichier 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;
dans le fichier .user.ini : max_input_vars=3000;
et j'ai aussi essayé en plaçant php.ini & .user.ini dans wp-admin et en dehors de wp-admin, rien ne fonctionne pour moi,
en ajoutant dans .htaccess la page d'administration wp s'affiche vide (blanche). mon hébergement est
toute aide est appréciée. Merci d'avance.
Lou Comunale
J'utilise GoDaddy et la solution php.ini n'a pas du tout fonctionné pour moi. Godaddy ne reconnaît même pas cette page ou ce code comme valide.
En obtenant de l'aide des gens de GoDaddy, ils m'ont fourni une solution de contournement.
J'ai créé une page dans mon dossier html .user.ini (point-user-point-ini). Sur cette page, j'ai ajouté le code :
max_input_vars = 3000
Semble fonctionner jusqu'à présent.
Akut Wibowo
créé une page dans mon dossier html .user.ini (point-user-point-ini) -> voulez-vous dire créer un FICHIER dans votre dossier PUBLIC_HTML ?
Veuillez confirmer car j'ai le même problème ici sur le serveur godaddy également. Et je ne peux pas les contacter depuis une semaine.
Je ne sais pas pourquoi il est si difficile de contacter GoDaddy.
Gabriel
Akut J'utilise aussi GoDaddy.
J'ai trouvé mon fichier php.ini dans le gestionnaire de fichiers – dossier public_html PAS dans le php.admin et je n'ai pas non plus eu à créer le fichier php.ini.
Godaddy semble penser qu'il s'agit d'un problème WP, et j'ai eu des réponses évasives sur ce problème particulier.
Ils m'ont dirigé vers l'augmentation de ma limite de taille de fichier. (Ce n'est pas la même solution).
Ken
Cette solution a été la seule qui a fonctionné sur la plateforme d'hébergement 1and1 :
J'ai créé une page dans mon dossier html .user.ini (point-user-point-ini). Sur cette page, j'ai ajouté le code :
max_input_vars = 3000
Hunor
Merci ! Cela a également fonctionné pour moi (bien que ce ne soit pas hébergé par goDaddy).
Merci
Merci, cela a fonctionné pour moi.
Anjan Phukan
Lou, cela a fonctionné pour moi. Merci beaucoup.
Brock Reinhart
Lou, à première vue (et au premier test), cela semble avoir parfaitement fonctionné – merci !
Je mettrai à jour si je rencontre d'autres problèmes.
Jay Patal
J'ai rencontré un problème pour ajouter un sous-menu sur un site WordPress, il se convertit en lien personnalisé.
S'il vous plaît, aidez-moi à résoudre cette erreur
chandani
Merci…. ça marche parfaitement.
mahesh
supprimez simplement wordpress ; et optez pour magento, c'est la meilleure solution, cela a fonctionné pour moi après 2 mois d'essais, j'ai trouvé la meilleure solution
WajhuAllah Arif Hussain
Sur un VPS Ubuntu, j'ai pu le corriger en décommentant et en définissant des valeurs plus élevées comme ci-dessous.
max_input_nesting_levels = 500
max_input_vars = 5000
Mais merci quand même car cela a ouvert la voie à la solution
Sumon
Merci, cela a aussi fonctionné pour moi.
tanveer
je t'aime mec !
Ta solution a également résolu un autre problème pour moi ! le problème était
« Après avoir enregistré le menu dans l'onglet « Modifier le menu », les « Paramètres du menu -> Emplacement du thème » ne conserveraient pas la coche et dans l'onglet « Gérer les emplacements », l'emplacement du menu serait supprimé. »
Jony
Salut mec,
J'utilise WordPress multisite et j'ai quelques problèmes pour ajouter plus de champs personnalisés à mon site, j'ai tout essayé et rien n'a aidé, et j'ai vu ta réponse concernant l'augmentation de max_input_nesting_levels = 500. J'essaie d'augmenter cette valeur sur un VPS avec Ubuntu 16.04 dans le fichier PHP.Ini mais sans succès. info.php affiche toujours max_input_nesting_levels = 64. J'apprécierais si tu pouvais me dire comment tu as augmenté cette valeur, que ce soit via le fichier PHP.ini ou via le fichier htaccess ?
Cordialement,
Alejandro
Thanks a lot, it wordked for my very long menu!!
Mino Taur
Amis HostGator – Même problème & Ceci l'a résolu :
1. Cpanel > Gestionnaire de fichiers
2. public_html > wp-admin
3. Cliquez sur « Nouveau fichier » > nommez-le php.ini (si vous n'avez pas déjà ce fichier)
4. Cliquez sur php.ini > cliquez sur « modifier » > cliquez à nouveau sur « modifier »
5. Collez : max_input_vars=5000; > Enregistrer > TERMINÉ
Yannis
Vraiment super solution. Merci !
Rajit
Bonjour,
Mon site est hébergé chez godaddy. J'ai créé php.ini dans wp-admin et collé la seule ligne max_input_vars=5000;
Toujours pas pu ajouter plus de menus.
Sangam KR
Merci pour les suggestions. J'ai suivi votre suggestion et ajouté le fichier php.ini avec max_input_vars=5000; et cela a résolu mon problème. Merci encore
Lori
1 – Créez un fichier texte
2 – Mettez ceci dedans " max_input_vars=5000; " (sans les guillemets
3 – Enregistrez sous php.ini
4 – Connectez-vous en FTP à public_html > wp-admin
PARFAIT
Merci !!!
Anita
Thank You, You saved my site!
This worked for me perfectly!
Bonjour Mino
Même problème sur mon site web
Mon site est hébergé chez HostGator. J'ai ajouté le fichier php.ini dans /wp-admin mais cela ne fonctionne pas pour moi. S'il vous plaît, aidez-moi.
Kimberly Potts
J'ai le même problème. Un technicien de Studio Press m'a dirigé vers ce site. J'ai un compte d'hébergement partagé chez Host Gator. Ils ont augmenté mon max_input_vars à 7000, car je n'avançais pas avec 3000 ou 5000. J'ai créé un fichier php.ini avec vos recommandations dans mon wp-admin. Toujours pas de succès. Dois-je supprimer le fichier php.ini dans mon dossier public, puisque j'en ai créé un dans le wp-admin ? J'essaie tellement de résoudre ce problème. Un grand merci.
bedir
ALEX, tu es un héros. J'ai lu beaucoup de choses pour trouver une solution. MERCI
Muhammad Khizer Khan
Merci beaucoup Alex, je vous suis vraiment reconnaissant.
vijay lathiya
Merci pour les conseils
après avoir augmenté max_input_vars dans php.ini, ça fonctionne.
gezginrocker
Comme je suis sur un hébergement partagé, placer le fichier php.ini dans le dossier racine n'a pas fonctionné pour moi. Mais le placer dans le dossier wp-admin a fonctionné. Je pense que c'est parce que le fichier nav-menus.php se trouve dans le dossier wp-admin.
Gadget
Salut tout le monde, ... oui, j'ai aussi rencontré ce problème de menu ... et je dois dire YIKES !!! À quelque part entre 50 et 100 pages, le dernier élément que j'ai mis dans le menu était éjecté, et/ou tombait de la navigation principale du menu ! Quoi ?!!!
Les débutants, et les autres geeks, savent cela (ce problème) ... et je ne parle que de mon cas, bien que je le fasse dans l'espoir que quelqu'un qui rencontre le même cauchemar puisse en bénéficier ... alors c'est parti.
Avec l'hébergement mutualisé’ de HostGator… il n'y aura pas de ‘suhosin’ qui est apparemment un correctif/programme etc. pour les erreurs de script avec php conçu pour protéger les ‘serveurs’ selon un représentant de HostGator, … maintenant, nonobstant ce détail, nous continuons… ce qui était important dans mon cas, … c'est que j'ai finalement fait comprendre à mon contact HostGator, contact n°3, à travers tout mon baratin sur le problème, la partie concernant le ‘max_input_vars = 3000’.
Mon contact HostGator m'a mis en attente, a enquêté sur le problème et a déterminé que le ‘max_input_vars = 3000’ devait être placé dans le fichier php.ini, … auquel seul HostGator a accès, … pas le fichier php.ini qui se trouve dans notre répertoire ‘home’ ou ‘root’, auquel nous avons tous accès, via nos comptes avec HostGator ou d'autres fournisseurs d'hébergement, en utilisant le CPanel, comme nous appelons souvent ce point d'accès.
Ce fichier php.ini n'est en aucun cas accessible via Internet par moi, ou nous, en tant que titulaires de compte avec accès au compte d'hébergement, capiche ? Bien, et bon à savoir.
Maintenant, ce que j'ai fait, c'est prendre ce qu'Alex, juste en dessous de ce post, a dit de faire, et j'ai mis ces lignes de texte/code dans un fichier php.ini que j'ai ensuite placé dans ma zone de fichier public_html, à l'intérieur de mon dossier ‘wp-admin’, pour le domaine sur lequel je travaillais. Pendant un temps, j'ai pensé que ce ‘correctif’ fonctionnait, puis aujourd'hui, j'ajoutais plus de pages et ‘oh joie’ les éléments de navigation du menu principal tombaient de la ligne, nom d'une pipe !!
Je suis retourné au problème, j'ai réexaminé tout ce post et le fil de discussion ‘Coretrac Ticket’, qui est un peu au-dessus de mes compétences, mais néanmoins, j'étais diligent et déterminé. Et puis retour à la brèche avec les gens de HostGator pour le pow-wow n°2, j'ai terminé cet appel et j'ai dû y retourner, avec la personne n°3 qui a été le charme.
Enfin, ce que j'ai appris, c'est que ce à quoi le ‘max_input_vars = 3000’ fait référence, c'est le nombre de pages que votre installation/domaine/WordPress peut avoir, le ‘3000’ signifie pages. Mon contact HostGator a branché 5000 pages.
Alors, j'ai ajouté deux nouvelles pages de test sur le champ, toujours au téléphone avec lui, et nous rapportons de la « joie » ! Youpi ! Je devrais maintenant pouvoir ajouter des pages à mon gré ! Que vous aussi vous puissiez faire l'expérience de la JOIE de WordPress !
Santé,
Gadget
Netman
Le problème a été résolu avec le fichier php.ini dans le dossier wp-admin avec la ligne suivante sur un compte d'hébergement partagé HostGator.
max_input_vars = 9000;
Merci
Alex
Créez un fichier php.ini mais pas à la racine ! ( public_html )
dans le dossier « wp-admin » puis ajoutez :
max_input_vars = 3000;
J'ai aussi :
upload_max_filesize = 70M;
post_max_size = 128M;
upload_tmp_dir = 70M;
max_input_vars = 3000;
memory_limit = 256M;
Jay
Cela a fonctionné pour moi, c'était très facile à faire.
Merci !
Diego
Alex, je n'y arrive pas..
JoAnne
MERCI ! MERCI ! MERCI ! J'essayais de trouver une solution pour résoudre ce problème pendant DES HEURES !!! Ça a marché ! Merci !
Maninderpreet Singh
THANKSS
Brian
Merci !!!
AMGil
Merci Alex, j'ai essayé tellement de solutions trouvées en ligne et celle-ci a été la seule qui a fonctionné. Sauveur !!
Deborah
Je ne peux accéder à aucune modification de wordpress après avoir fait cela, dois-je effacer l'autre fichier php.ini ?
prateek rathore
Thanks Alex,
I have mad lots of googling for the issue and finally i got the solution you provided.
Kimberly Potts
J'ai ENFIN une solution. Après avoir essayé toutes les suggestions, le technicien de Host Gator a ajouté max_input_vars=5000; dans le répertoire racine. BINGO ! Ça fonctionne maintenant. :))
Enfin
Je confirme.
Jeffrey de Jongh
Salut, merci pour ce super conseil ! J'ai eu le même problème avec UberMenu. Maintenant, j'ai ajouté php_value max_input_vars 5000 à mon fichier .htaccess et cela a résolu le problème.
Alanna
J'ai essayé plusieurs choses sans succès. J'ai demandé à mon hébergeur d'apporter ces modifications à la configuration PHP. J'ai également activé le plugin Memory Bump puis l'ai supprimé comme suggéré par d'autres.
Mon thème (Twenty Ten) ne prend en charge qu'un seul menu. Je suis capable de créer un autre menu et d'y apporter des modifications sans problème. J'ai un site en ligne, donc je suis un peu limité en termes de quantité d'expérimentations que je peux faire.
D'autres idées ? J'essaierai n'importe quoi à ce stade.
Bhavin
Merci beaucoup Mat. Ça a fonctionné parfaitement...
Matt
La suggestion de Matt a également fonctionné pour moi, car je n'utilise pas suhosin.
ajouté :
max_input_vars = 5000
à mon fichier php.ini
valente
Bonjour, j'ai placé un fichier Php.ini dans wp-admin avec max_input_vars = 5000
mais cela n'a pas fonctionné, ce fichier php doit-il également se trouver dans un autre répertoire ?
merci
Support WPBeginner
assurez-vous que vous avez nommé le fichier php.ini et non Php.ini
Admin
Bart
J'ai le même problème, et le plugin Memory Bump ne l'a pas résolu.
J'ai contacté mon fournisseur d'hébergement, et ils m'ont dit que je n'avais pas encore de fichier php.ini et que je devais le créer, ou que WP devait le créer pour moi...
Comment faire ?
Support WPBeginner
Bart, si votre serveur web exécute des scripts PHP, alors il a certainement un fichier php.ini que votre hébergeur peut configurer s'il le souhaite.
Admin
Zek
Il semble qu'une solution simple serait que la fonctionnalité ajax de WP évalue le nombre d'éléments dans la liste et les divise en plusieurs requêtes séquentielles au lieu d'une seule grosse requête.
C'est étrange pour moi que l'équipe de WordPress n'y ait pas pensé à l'avance, mais je suppose que la plateforme est tellement robuste qu'ils ont tout simplement trop à faire. Je pourrais finir par le faire moi-même, mais bien sûr, je devrai le faire d'une manière qui ne sera pas écrasée par les futures mises à jour. Quelle galère !
Larry
Je suis dans la même situation que Mat Lipe. J'avais des problèmes car mon serveur n'a pas suhosin installé. J'ai pu résoudre le problème en ajoutant la directive que Mat a postée à mon fichier php.ini. Merci.
Selma
Je viens de rencontrer le même problème et après des jours d'échanges par e-mail avec le support d'hébergement, il a finalement été résolu !
Ils ont apporté les modifications suivantes :
Ils ont ajouté max_input_vars = 5000 dans php.ini
C'est tout, et maintenant ça marche à merveille et j'ajoute des pages à mon contenu.
Piyush
Salut SELMA,
Votre solution fonctionne pour moi
Merci!!!!!!!!!!
Piyush
Mat Lipe
Bonjour,
Mon serveur n'exécute pas suhosin, j'ai donc pu résoudre ce problème en ajoutant ceci à mon fichier php.ini et en redémarrant mon serveur.
max_input_vars = 5000
J'espère que cela aidera d'autres personnes ayant le même problème
Nix
Cela a fonctionné, merci !
Elyashiv
Excellent !! ça marche pour moi/
Merci !!
Luyen Dao
Merci Mat ! Je devenais fou en essayant d'ajouter suhosin, puis j'ai réalisé que je ne l'avais même pas configuré !
Michael
Wow ! Merci beaucoup Matt. Ça marche super bien !!!
Dale
Merci pour cela.
J'ai rencontré cela il y a un bon moment et je pensais que cela avait quelque chose à voir avec l'allocation mémoire.
J'ai finalement pu ajouter plus de menus après avoir activé le plugin Memory Bump ( http://wordpress.org/extend/plugins/memory-bump/ ) de WordPressdotorg
J'ai désactivé le plugin par la suite.
C'était rapide et facile sans toucher au code.