Size: a a a

WordPress for developers

2021 October 18

НО

Нимай Олейник... in WordPress for developers
Ну это либо запрос в базу либо в options лишний мусор каждый раз. А хук 1 раз вызовет.
источник

АП

Артём Приходько... in WordPress for developers
большинство опцию имеют автозагрузку, тоесть ваша опция из базы подтянется автоматически. не будет лишних запросов
источник

НО

Нимай Олейник... in WordPress for developers
А есть в wp механизм "отложить до след вызова" что то вроде nexttick ?
источник

АП

Артём Приходько... in WordPress for developers
но это тоже будет мусор в базе
источник

АП

Артём Приходько... in WordPress for developers
есть ActionSheduler, но вам нужно его вызывать в момент обновления. а хуков нет
источник

НО

Нимай Олейник... in WordPress for developers
Таска удалится, а версия будет каждый раз лежать.
источник

АП

Артём Приходько... in WordPress for developers
вы удивитесь, но оооочень многие плагины хранят свою версию в базе. и именно так у них устроена миграция
источник

MK

Mikhail Kobzarev in WordPress for developers
да почти все)
источник

НО

Нимай Олейник... in WordPress for developers
И не только версию... некоторые кеш запросов умудряются там хранить и меня это уже достало)) Потому не хочу эту кучу наваливать дальше. 45мб в какой то момент было в autoload
источник

АП

Артём Приходько... in WordPress for developers
ну мы же вам не предлагаем кэш хранить в базе. всего лишь версию плагина
источник

НО

Нимай Олейник... in WordPress for developers
Если других вариантов нет то придется но в идеале на хуках как то. Попробую с Sheduler разобраться. По сути на upgrader_process_complete нужно добавить одноразовую таску, а при следующем вызове зарегать хук на эту таску.
источник

АП

Артём Приходько... in WordPress for developers
если при этом ваш код завязан на изменения в БД, то вы получите ошибку или не предвиденное поведение плагина
источник

АП

Артём Приходько... in WordPress for developers
при "следующем вызове" как вы говорите
источник

НО

Нимай Олейник... in WordPress for developers
Думаю если поставить наивысший приоритет хуку то обновление бд завершится раньше чем она потребуется менее приоритетным задачам.
источник

АП

Артём Приходько... in WordPress for developers
В разработке нельзя полагаться на авось.
источник

НО

Нимай Олейник... in WordPress for developers
Без тестов в прод не уйдет)
источник

АП

Артём Приходько... in WordPress for developers
Тесты - это конь в вакууме. А ситуация может сложиться при определённых обстоятельствах
источник

KD

KAGG Design in WordPress for developers
Все большие плагины так работают
источник

KD

KAGG Design in WordPress for developers
+++
источник

MK

Mikhail Kobzarev in WordPress for developers
это от того что кто-то доку не читал и не в курсе что для всех новых опций по дефолту включен параметр autoload
источник