Las variaciones o los menús no se guardan: aumentar max_input_vars
Está editando un producto con muchas variaciones, o un menú grande en WordPress, y hace clic en Actualizar. No ve ningún mensaje de error, pero después de recargar falta parte de sus cambios: las últimas variaciones tienen su antiguo precio, o faltan elementos al final del menú. En ese caso la causa es casi siempre el ajuste de PHP max_input_vars.
¿Qué es max_input_vars?
Al guardar, su navegador envía todos los campos del formulario de una sola vez al servidor. En un producto variable, hay muchos campos por variación: precio, existencias, SKU, peso y más. En un menú grande, cada elemento de menú cuenta varios campos. PHP solo acepta un número determinado de campos por solicitud: eso es max_input_vars. PHP tiene por defecto 1000. Si llegan más campos, PHP descarta el resto sin aviso. WordPress y WooCommerce guardan entonces solo lo que sí llegó.
WooCommerce muestra en el panel de administración 15 variaciones por página para limitar esto. Con muchos atributos y campos, aun así puede alcanzar el límite.
Consultar su valor actual
- En WooCommerce: WooCommerce > Estado, en PHP Max Input Vars.
- En DirectAdmin: Select PHP version, pestaña Options, en
max_input_vars.
Aumentar max_input_vars en WebOké
- Inicie sesión en DirectAdmin: vaya en Mi WebOké a Mis Productos y haga clic en DirectAdmin junto a su paquete de hosting.
- Haga clic en Select PHP version, bajo Programas Adicionales.
- Compruebe que esté seleccionada la versión que usa su sitio. Las opciones se configuran por versión de PHP.
- Vaya a la pestaña Options, haga clic en el valor junto a
max_input_varsy elija un valor más alto, por ejemplo3000o5000. - El cambio se guarda de inmediato y se aplica a todos los sitios de su paquete que usen esa versión de PHP.
Si la versión de PHP está en native, no podrá modificar nada en Options. En ese caso, elija primero una versión fija. Encontrará una explicación con capturas de pantalla en Opciones de PHP: upload_max_filesize, memory_limit y max_execution_time y en Cambiar la versión de PHP y los ajustes de PHP (y qué hacer ante errores tras una actualización).
¿Prefiere no buscarlo usted mismo? El asistente de IA en Mi WebOké puede ajustar max_input_vars por usted para la versión de PHP que utiliza su paquete. Primero verá qué va a cambiar y usted mismo lo aprueba.
Comprobar que funciona
- Compruebe en WooCommerce > Estado si aparece el nuevo valor.
- ¿Sigue mostrando el valor antiguo? Compruebe si en su
.htaccesshay una línea antiguaphp_value max_input_vars, o si en Ajustes de PHP en DirectAdmin hay un valor propio configurado para su dominio. Estos tienen prioridad. Consulte Ajustes de PHP en DirectAdmin o Select PHP version: ¿cuál es la diferencia? - Edite de nuevo el producto o el menú, guarde y compruebe después de recargar si todo se ha conservado. Lo que ya se haya perdido, deberá volver a introducirlo.
Más información
- Manual de PHP: max_input_vars (inglés)
