Вариациите или менютата не се запазват: увеличете max_input_vars
Редактирате продукт с много варианти или голямо меню в WordPress и натискате Актуализиране. Не виждате съобщение за грешка, но след презареждане част от Вашите промени липсват: последните варианти имат старата си цена или в долната част на менюто липсват елементи. Тогава причината почти винаги е настройката на PHP max_input_vars.
Какво е max_input_vars?
При запазване Вашият браузър изпраща наведнъж всички полета от формуляра към сървъра. При продукт с варианти това са много полета за всеки вариант: цена, наличност, SKU, тегло и други. При голямо меню всеки елемент от менюто съдържа определен брой полета. PHP приема само определен брой полета за всяка заявка: това е max_input_vars. Самото PHP по подразбиране има 1000. Ако пристигнат повече полета, PHP пропуска останалите без съобщение. WordPress и WooCommerce тогава запазват само това, което е пристигнало.
WooCommerce показва в административния панел 15 варианта на страница, за да ограничи това. При много атрибути и полета все пак можете да достигнете границата.
Преглед на текущата стойност
- В WooCommerce: WooCommerce > Status, при PHP Max Input Vars.
- В DirectAdmin: Select PHP version, раздел Options, при
max_input_vars.
Повишаване на max_input_vars при WebOké
- Влезте в DirectAdmin: в Моят WebOké отидете на Моите продукти и натиснете при Вашия хостинг пакет DirectAdmin.
- Натиснете под Extra Programma's (Допълнителни програми) върху Select PHP version.
- Проверете дали е избрана версията, която използва Вашият сайт. Опциите се задават за всяка PHP версия поотделно.
- Отидете на раздела Options, натиснете върху стойността след
max_input_varsи изберете по-висока стойност, например3000или5000. - Промяната се запазва веднага и важи за всички сайтове във Вашия пакет с тази PHP версия.
Ако PHP версията е зададена на native, не можете да променяте нищо в Options. В такъв случай първо изберете фиксирана версия. Обяснение със скрийншоти ще намерите в PHP-опции: upload_max_filesize, memory_limit и max_execution_time и в Промяна на PHP версия и PHP настройки (и какво да правите при грешки след надграждане).
Предпочитате да не търсите сами? AI асистентът в Моят WebOké може да коригира max_input_vars вместо Вас за PHP версията, която използва Вашият пакет. Първо виждате какво ще се промени и сами одобрявате това.
Проверка дали работи
- Проверете при WooCommerce > Status дали новата стойност е налице.
- Все още ли е показана старата стойност? Проверете дали във Вашия
.htaccessима стар редphp_value max_input_vars, или дали в PHP Instellingen (PHP настройки) в DirectAdmin е зададена собствена стойност за Вашия домейн. Те имат предимство. Вижте PHP настройки в DirectAdmin или Select PHP version: каква е разликата? - Редактирайте отново продукта или менюто, запазете и проверете след презареждане дали всичко е запазено. Това, което вече е било изгубено, трябва да въведете наново.
Допълнително четене
- PHP ръководство: max_input_vars (на английски)
Искате да научите повече? Преминете безплатния курс Онлайн магазин с WooCommerce, урок 3.2 Продукти с вариации и атрибути.
