Hace apenas unos días, uno de nuestros usuarios reportó un problema inusual. El problema era que estaba alcanzando el límite de elementos de menú personalizados. Cualquier cosa que guardara después de alcanzar el límite de elementos del menú no se guardaba en absoluto. Nunca habíamos oído hablar de este problema, así que decidimos probarlo en nuestra instalación local. Creamos más de 200 elementos de menú y lo guardamos. Funcionó perfectamente. Movimos 100 elementos a un menú desplegable y eso se guardó perfectamente. En ese momento, supimos que esto tenía algo que ver con el servidor. Tras una investigación adicional, parecía que muchos otros estaban teniendo el mismo problema. Profundizando un poco más, encontramos un ticket de trac (#14134) que destacaba este problema. Después de leer el ticket de trac, que es muy, muy largo, parece que el problema aún no se ha solucionado, pero existe una solución alternativa para quienes tienen este problema. En este artículo, le mostraremos cómo solucionar el límite de elementos de menú personalizados en WordPress.
Para solucionar el problema, necesita editar su archivo PHP.ini. Si está en un servidor dedicado o en un VPS con acceso de root, entonces ya debería saber de qué estamos hablando. Si está en un hosting compartido o no sabe dónde está el archivo PHP.ini, pídale a su proveedor de hosting web que lo haga por usted.
Necesita pedirles que establezcan los siguientes valores en la configuración de PHP.ini:
suhosin.post.max_vars = 5000 suhosin.request.max_vars = 5000
Otro usuario “ronnieg” publicó una solución alternativa que tiene para su sitio de bienes raíces y menú grande (más de 450 páginas y creciendo). Puedes leer su respuesta para seguirlo. (Nota: no hemos probado esta)
Explicación del problema
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 es un proyecto de código abierto (voluntario), y el equipo principal hace todo lo posible para mejorarlo cada día. Esto se solucionará, pero el plazo aún no está definido, ya que dice "Próximos lanzamientos".
Si has probado algo diferente que solucionó este problema para ti, por favor, háznoslo saber en los comentarios. Esto permitirá que otros solucionen su problema hasta que el equipo principal encuentre una solución.

Tamim
¡Hola! Estoy usando hosting compartido. Por eso no tengo acceso root para editar el archivo phpi.ni. ¿Cómo puedo resolver el problema?
Soporte de WPBeginner
Hola Tamim,
Puedes pedirle a tu proveedor de hosting que lo haga por ti.
Administrador
Satya
Tengo acceso al archivo PHP.ini y lo actualicé como mencionaste, pero no funciona.
No estoy seguro de por qué, ¿qué debo hacer?
Maheshwaran
Hola
Apariencia -> Menú -> al hacer clic -> redirigiendo a -> página 404
He agregado algunos menús principales y categorías en mi sitio web. Después de un tiempo, no pude abrir el menú para modificar o eliminar nada. Mi sitio web se redirige a la página 404. He probado muchos códigos pero nada funciona. Por favor, ayúdame.
Toni
Me encontré con el mismo problema... pero estoy en localhost... ¡así que no tengo a nadie a quien pedir ayuda! (Windows 10/XAMPP/WP4.8). Soy nuevo en WP, ¡ni siquiera sé dónde encontrar php.ini! Mi "solución rápida" fue eliminar algunos elementos de submenú menos importantes. Pero quiero volver a ponerlos todos. Revisé el aumento de memoria mencionado anteriormente, pero es antiguo. Podría no funcionar en WP4.8. ¡No vale la pena el riesgo!
Nush
Hola.
Gracias por la excelente información. Finalmente resolví el problema en el hosting de GoDaddy creando un archivo ph5.ini en el Webroot con la siguiente información:
memory_limit = 256M;
max_execution_time = 300;
max_input_vars = 3000;
resolví el problema después de que el servicio al cliente reiniciara la base de datos, algo que yo no pude hacer. Espero que esto ayude.
Anton
Hola, gracias por esto
Corrí y tuve este problema. Tenía un menú largo y algunos días se redujo a solo 50 líneas. El soporte del tema envió a este tema. Probé todas las opciones, pero solo una me funciona incluso sin contactar al soporte de hosting.
Agregué “php_value max_input_vars 5000” (sin comillas) a mi archivo .htaccess antes de la línea “#fin de wordpress” y eso resolvió el problema.
Teodoz
¡Gracias Anton! ¡El proceso con el archivo .htaccess salvó mi sitio web! Gracias
Ajay Damraliya
Thanks bro
i was facing the same problem now its fixed.
Ramachandran
Hola equipo,
Estoy usando Hostgator con Multidomain SSL.
Revisé la configuración y no sé dónde ni cómo hacerlo.
Agregué el archivo php.ini con el código max_input_vars=9000; y todavía no puedo agregar elementos al menú principal.
¿Alguien me ayuda? Muy apreciado.
Saludos,
-Rams
Ramachandran
Configuré WordPress Multisite usando Multidomain SSL.
Dann
Estoy teniendo este problema ahora mismo, contacté a los hosts quienes dicen que no pueden/no aumentarán a 5000 variables porque es un servidor compartido, ¿hay alguna otra solución? ¿es posible tener dos menús de navegación en la misma página, esto resolvería el problema o continuaría simplemente?
Gracias de antemano, cualquier ayuda sería muy apreciada
sdkmendis
Increíble. Tengo el mismo problema durante mucho tiempo sin saber por qué. Pregunté a mucha gente. Hoy arreglé mi problema. hostGator no necesita llamar al representante del centro de llamadas. Podemos hacerlo nosotros mismos. Realmente útil, no tengo palabras para agradecer.
Rajit
¿Cuál es el límite máximo que podemos establecer para esto? Parece que también he agotado el límite de 5000.
Rajit
De hecho, he agotado el límite de 8000
Renee
Mahalo nui loa (¡muchas gracias)!
Esto funcionó para el sitio de un cliente que está en Bluehost, hosting compartido:
1. Cpanel > Administrador de Archivos
2. public_html > wp-admin
3. Haz clic en “Nuevo Archivo” > nómbralo php.ini (si no tienes este archivo ya)
4. Haz clic en php.ini > haz clic en “editar” > haz clic en “editar” de nuevo
5. Pega: max_input_vars=5000; > Guardar > LISTO
vipin
No funciona
Anjan Phukan
Hola Renee, me salvaste. Muchas gracias.
Tan
¡Eso funcionó en mi caso! ¡Eres mi ángel! Fantástica compartición. He tenido este problema durante 2 días. ¡Muchas gracias!
Kelli
Renee, esto también funcionó para mi cliente. ¡Gracias! Están alojados con Hostgator.
Hasan
Lo intenté,
en el archivo .htaccess:
php_value max_input_vars 5000
en el archivo 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;
en el archivo .user.ini:
max_input_vars=3000;
y también probé colocando php.ini & .user.ini en wp-admin y fuera de wp-admin, nada me funciona,
al agregar en .htaccess la página de administración de WordPress se muestra en blanco (blanca).
mi hosting es
cualquier ayuda es apreciada. TIA
Lou Comunale
Uso GoDaddy y la solución de php.ini no me funcionó en absoluto. Godaddy ni siquiera reconoce esa página o código como válido.
Al obtener ayuda de la gente de Godaddy, me proporcionaron una solución alternativa.
Creé una página en mi carpeta html .user.ini (punto-user-punto-ini). En esa página agregué el código:
max_input_vars = 3000
Parece que funciona hasta ahora.
Akut Wibowo
creé una página en mi carpeta html folder .user.ini (punto-user-punto-ini) -> ¿te refieres a crear un ARCHIVO en tu carpeta PUBLIC_HTML?
Por favor, confirme ya que tengo el mismo problema aquí en el servidor de GoDaddy también.
Y no he podido contactarlos en semanas.
No sé por qué es tan difícil contactar a godaddy.
Gabriel
Akut Yo también uso Godaddy.
Encontré mi archivo php.ini en el administrador de archivos – carpeta public_html NO en el php.admin ni tuve que crear el archivo php.ini.
Godaddy parece pensar que es un problema de WP, y me dieron vueltas con ese problema en particular.
Me dirigieron a aumentar mi límite de tamaño de archivo. (No es la misma solución).
Ken
Esta solución fue la única que funcionó en la plataforma de hosting 1and1:
Creé una página en mi carpeta html .user.ini (punto-user-punto-ini). En esa página agregué el código:
max_input_vars = 3000
Hunor
¡Gracias! Esto también me funcionó (aunque no está alojado por goDaddy).
Gracias
Gracias, esto me funcionó.
Anjan Phukan
Lou, me funcionó. Muchas gracias.
Brock Reinhart
Lou, a primera vista (y primera prueba) parece que funcionó perfectamente – ¡gracias!
Actualizaré si encuentro más problemas.
Jay Patal
Tengo un problema al agregar un submenú en el sitio de WordPress, se convierte en un enlace personalizado.
Por favor, ayúdeme a resolver este error.
chandani
Gracias... funciona perfectamente.
mahesh
solo elimina wordpress; y ve por magento, la mejor solución, me funcionó después de intentar 2 meses, obtuve la mejor solución
WajhuAllah Arif Hussain
En Ubuntu VPS pude arreglarlo descomentando y estableciendo valores más altos como se muestra a continuación.
max_input_nesting_levels = 500
max_input_vars = 5000
Pero de todos modos, gracias, ya que proporcionó un camino hacia la solución
Sumon
Gracias, eso también me funcionó.
tanveer
¡te amo hombre!
¡tu solución también resolvió otro problema mío! el problema era
“Después de guardar el menú en la pestaña “Editar Menú”, la opción “Configuración del Menú -> Ubicación del Tema” no conservaría la marca y en la pestaña “Administrar Ubicaciones”, la ubicación del menú se eliminaría.”
Jony
Hola hombre,
Estoy ejecutando WordPress multisitio y tengo algunos problemas para agregar más campos personalizados a mi sitio, intenté todo y nada ayudó, y vi tu respuesta sobre aumentar el max_input_nesting_levels = 500. Estoy intentando aumentar ese valor en un VPS con Ubuntu 16.04 en el archivo PHP.Ini pero sin éxito. info.php todavía muestra max_input_nesting_levels = 64. Agradecería si pudieras decirme cómo aumentaste este valor, ¿fue a través del archivo PHP.ini o a través del archivo htaccess?
Saludos,
Alejandro
Thanks a lot, it wordked for my very long menu!!
Mino Taur
Amigos de HostGator – Mismo problema y esto lo solucionó:
1. Cpanel > Administrador de Archivos
2. public_html > wp-admin
3. Haz clic en “Nuevo Archivo” > nómbralo php.ini (si no tienes este archivo ya)
4. Haz clic en php.ini > haz clic en “editar” > haz clic en “editar” de nuevo
5. Pega: max_input_vars=5000; > Guarda > LISTO
Yannis
¡Excelente solución! ¡Gracias!
Rajit
Hola,
Mi sitio está alojado en godaddy. Creé php.ini en wp-admin y pegué la única línea max_input_vars=5000;
Todavía no pude agregar más menús.
Sangam KR
Gracias por las sugerencias. Seguí tu sugerencia y agregué el archivo php.ini con max_input_vars=5000; y eso resolvió mi problema. Gracias una vez más.
Lori
1 – Crea un archivo de texto
2 – Pon esto ahí: "max_input_vars=5000;" (sin las comillas)
3 – Guarda como php.ini
4 – Sube por FTP a public_html > wp-admin
PERFECTO
¡¡¡Gracias!!!
Anita
Thank You, You saved my site!
This worked for me perfectly!
Hola Mino
Mismo problema en mi sitio web
Mi sitio está alojado en HostGator. Agregué el archivo php.ini en /wp-admin pero no me funciona. Por favor, ayúdame.
Kimberly Potts
Yo también tengo este problema. Un técnico de Studio Press me dirigió a este sitio. Tengo una cuenta de hosting compartido con Host Gator. Han aumentado mi max_input_vars a 7000, porque no avanzaba con 3000 o 5000. Creé un php.ini con tus recomendaciones en mi wp-admin. Todavía sin suerte. ¿Necesito eliminar el php.ini en mi carpeta public, ya que creé uno en wp-admin? Estoy intentando tanto resolver esto. Muchas gracias.
bedir
ALEX, eres un héroe, hombre. He leído muchas cosas para la solución. GRACIAS
Muhammad Khizer Khan
Muchas gracias Alex, realmente te estoy agradecido.
vijay lathiya
Gracias por los consejos
después de aumentar max_input_vars en php.ini está funcionando.
gezginrocker
Debido a que estoy en un hosting compartido, poner el archivo php.ini en la carpeta raíz no me funcionó. Pero ponerlo en la carpeta wp-admin sí funcionó. Creo que esto se debe a que el archivo nav-menus.php está en la carpeta wp-admin.
Gadget
Hola a todos, ... sí, yo también me encontré con este problema/situación con el menú ... ¡y vaya susto! Alrededor de la página 50 a la 100, el último elemento que puse en el menú se estaba eliminando, ¡o se caía de la navegación principal del menú! ¿Qué?!!!
Los novatos, y otros geeks por igual, saben esto sobre eso (el problema) ... y solo hablo por mi propio caso, aunque lo hago con la esperanza de que alguien que experimente la misma pesadilla pueda beneficiarse ... así que aquí vamos.
Con 'hosting compartido' usando HostGator ... no habrá 'suhosin', que aparentemente es un parche/programa, etc., para errores de scripting con php diseñado para proteger 'servidores' según un representante de HostGator, ... ahora, sin importar este detalle, continuamos ... lo que era importante en mi caso, ... que finalmente logré que mi persona de HostGator, persona #3, entendiera, a través de toda mi palabrería sobre el problema, fue la parte sobre 'max_input_vars = 3000'.
Mi representante de HostGator me puso en espera, investigó el problema y determinó que 'max_input_vars = 3000' tenía que ponerse en el archivo php.ini, ... al que solo HostGator tiene acceso, ... no al archivo php.ini que está en mi/nuestro directorio 'home' o 'raíz', al que yo/nosotros tenemos acceso, a través de nuestras cuentas con HostGator u otros proveedores de hosting, usando el CPanel, como a menudo llamamos a este punto de acceso.
Este archivo php.ini no es accesible de ninguna manera a través de internet por mí, o por nosotros, como titulares de cuentas con acceso a cuentas de hosting, ¿capiche? Bien, y bueno saberlo.
Ahora, lo que hice fue tomar lo que Alex, justo debajo de esta publicación, dijo que hiciera, y puse estas líneas de texto/código en un archivo php.ini que luego coloqué en mi área de archivos public_html, dentro de mi carpeta ‘wp-admin’, para el dominio con el que estaba trabajando. Durante un tiempo, pensé que esta ‘solución’ estaba funcionando, luego hoy, estaba agregando más páginas y ‘¡qué alegría!’ los elementos de navegación del menú principal se estaban cayendo de la línea, ¡caramba!
Volví al problema, revisé de nuevo toda esta publicación y el hilo del ‘Coretrac Ticket’, que está un poco por encima de mi nivel, pero aun así, fui diligente y determinado. Y luego de vuelta a la brecha con la gente de HostGator para la pow-wow #2, completé esa llamada y tuve que volver, con la persona #3 que fue el encanto.
Por último, lo que aprendí es que, a lo que se refiere el ‘max_input_vars = 3000’ es a cuántas páginas puede tener tu instalación/dominio/WordPress, el ‘3000’ significa páginas. Mi representante de HostGator puso 5000 páginas.
Así que, agregué dos nuevas páginas de prueba en el acto con él todavía al teléfono y ¡reportamos ‘alegría’! ¡Yay! ¡Yo también debería poder agregar páginas a mi gusto! ¡Que tú también experimentes la ALEGRÍA de WordPress!
Salud,
Gadget
Netman
El problema se resolvió con un archivo php.ini en la carpeta wp-admin con la siguiente línea en una cuenta de hosting compartido de HostGator.
max_input_vars = 9000;
Gracias
Alex
Crea un archivo php.ini pero no en la raíz (public_html)
en la carpeta “wp-admin” y luego agrega:
max_input_vars = 3000;
Yo también tengo:
upload_max_filesize = 70M;
post_max_size = 128M;
upload_tmp_dir = 70M;
max_input_vars = 3000;
memory_limit = 256M;
Jay
Esto funcionó para mí, además es muy fácil de hacer.
¡Gracias!
Diego
Alex, no puedo hacerlo..
JoAnne
¡GRACIAS! ¡GRACIAS! ¡GRACIAS! ¡He estado tratando de encontrar una solución para arreglar esto durante HORAS! ¡Esto lo hizo! ¡Gracias!
Maninderpreet Singh
THANKSS
Brian
¡¡¡Gracias!!!
AMGil
Gracias Alex, probé muchas soluciones encontradas en línea y esta fue la única que funcionó. ¡Me salvaste la vida!
Deborah
No puedo acceder a ninguna edición de WordPress después de hacer esto, ¿debo borrar el otro archivo 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
POR FIN tengo una solución. Después de probar todas las sugerencias, el técnico de Host Gator agregó max_input_vars=5000; al directorio raíz. ¡BINGO! Ahora funciona. :))
Finalmente
Lo apoyo.
Jeffrey de Jongh
¡Hola! ¡Gracias por este gran consejo! Tuve el mismo problema con UberMenu. Ahora agregué php_value max_input_vars 5000 a mi archivo .htaccess y resolvió el problema.
Alanna
He intentado algunas cosas sin éxito. Le pedí a mi host que hiciera estos cambios de configuración de PHP. También activé el plugin Memory Bump y luego lo eliminé como sugirieron otros.
Mi tema (Twenty Ten) solo admite un menú. Puedo crear otro menú y hacer cambios allí sin problema. Tengo un sitio en vivo, así que estoy un poco limitado en cuanto a la cantidad de experimentación que puedo hacer.
¿Alguna otra idea? Lo intentaré todo en este momento.
Bhavin
Muchas gracias Mat. ¡Esto funcionó perfecto…
Matt
La sugerencia de Matt también me funcionó, ya que no ejecuto suhosin.
agregado:
max_input_vars = 5000
a mi archivo php.ini
valente
Hola, coloqué un archivo Php.ini en wp-admin con max_input_vars = 5000
pero no funcionó, ¿necesita este archivo php estar también en otro directorio?
gracias
Soporte de WPBeginner
asegúrate de que has nombrado el archivo php.ini y no Php.ini
Administrador
Bart
Tengo el mismo problema y el plugin Memory Bump no lo solucionó.
Me puse en contacto con mi proveedor de hosting y me dijeron que todavía no tengo un archivo php.ini y que tengo que crearlo, o que WP tiene que crearlo por mí...
¿Cómo hago esto?
Soporte de WPBeginner
Bart, si tu servidor web está ejecutando scripts de PHP, entonces ciertamente tiene un archivo php.ini que tu proveedor de hosting puede configurar si así lo desean.
Administrador
Zek
Parece que una solución simple sería que la funcionalidad ajax de WP evaluara el número de elementos en la lista y la dividiera en múltiples solicitudes secuenciales en lugar de una sola solicitud grande.
Me parece raro que el equipo de wordpress no pensara en esto de antemano, pero supongo que la plataforma es tan robusta que simplemente tienen demasiado en su plato. Puede que termine haciéndolo yo mismo, pero por supuesto tendré que hacerlo de una manera que no se sobrescriba con futuras actualizaciones. ¡Qué fastidio!
Larry
Estoy en la misma situación que Mat Lipe. Tenía problemas porque mi servidor no tiene suhosin instalado. Pude solucionar el problema agregando la directiva que Mat publicó a mi archivo php.ini. Gracias.
Selma
Acabo de tener el mismo problema y después de días de correos electrónicos de ida y vuelta con el soporte de hosting web, ¡finalmente se resolvió!
Hicieron los siguientes cambios:
Agregaron max_input_vars = 5000 en php.ini
Eso es todo, y ahora funciona a la perfección y estoy agregando páginas a mi gusto.
Piyush
Hola SELMA,
Tu solución me funcionó
¡¡¡¡¡¡¡¡¡¡Gracias!
Piyush
Mat Lipe
Hola,
Mi servidor no está ejecutando suhosin, así que pude solucionar este problema agregando esto a mi archivo php.ini y reiniciando mi servidor.
max_input_vars = 5000
Espero que esto ayude a alguien más con el mismo problema
Nix
¡Esto funcionó, gracias!
Elyashiv
¡¡Excelente!! me funciona/
¡¡Gracias!!
Luyen Dao
¡Gracias Mat! Me estaba volviendo loco intentando agregar suhosin, ¡luego me di cuenta de que ni siquiera lo tengo configurado!
Michael
¡Wow! Muchas gracias Matt. ¡¡Esto funciona increíble!!
Dale
Gracias por esto.
Experimenté esto hace bastante tiempo y pensé que tenía algo que ver con la asignación de memoria.
Finalmente pude agregar más menús después de activar el plugin Memory Bump ( http://wordpress.org/extend/plugins/memory-bump/ ) de WordPressdotorg
Desactivé el plugin después.
Fue rápido y fácil sin tener que modificar ningún código.