Продолжим здесь.
У вас фильтр итак не фильтрует( он как-то вообще связан с каталогом?
Вам нужно решить эту проблему сначала. На главной все правильно работает
А в чем сложность то? Стандартно включаете количественный учет. Если товара нет, будет кнопка "Нет в наличии", в шаблоне переделываете на нее всплытие модального окна. Как сделать модальное окно гугл скажет
Написал код вам, а потом прочел что у вас поле строка.
Создайте второе поле с датой, копируйте туда значения при измении первого поля, получиться два поля одно тип строка, другое дата. И используйте это второе поле
Все что сделал человек может сломать другой человек.
Самописы безопасны не больше, но их не взламывают массово, только если нужно конкретно взломать его
Зачем все эти "style.css?001 --> style.css?002 или script.js?003 --> script.js?004"? Нельзя использовать один файл и его обновлять?
Попробуйте изучить GIT, возможно поможет вам с решением вашей проблемы
Проверить что был POST, проверить что данные не пусты, удалить теги и спец символы.
Лучше вообще сделать AJAX и проверить сначала на js, не будет перезагрузки страницы