Наскоро бивш мой клиент (от времето, когато бях freelancer) се свърза с мен във връзка с проблем на сайта, по който работех. Понеже все още не са намерили разработчик, а пък имало по-голям проблем и ме помоли да погледна. Оказа се, че някой е обновил plugin на техния wordpress сайт и с това всички промени, които бях правил, за да се постигне желания резултат от клиента, са изчезнали.
Не че съм барникал по оригиналния код на plugin-а. Винаги използвам правилните hook-ве и понякога съм се изумявал какви трикове използвам само и само, за да запазя възможността за безпроблемно обновление. В случая създателя на plugin-а е направил изцяло нова версия и новата версия вече не беше съвместима със старата и всички филтри и действия бяха други. Дори темплейт езика, който използваха, беше сменен.
Първият съвет към клиента беше или да върнат старата версия на plugin-а или да инвестират малко пари и да използват новата (по-добрия вариант) и да изградят промените отново.
Вторият съвет (и причината да напиша тази статия) беше да се направят следните промени в сайта като цяло:
1. Да се инсталира plugin-a User Role Editor, с който да се забранят възможностите за обновяване на plugin-и и theme-и.
2. Обновленията винаги да стават през инстанцията на разработчика, да се тестват и тогава качват на production.
3. Да инсталира plugin-а User Activity Log, с който да се следи кой, какво и кога прави. Дори да използват един потребителски акаунт, поне да има лог на времето.
WordPress, с неговия подход да е лесна за употреба платформа, реално създава доста проблеми.