Size: a a a

WordPress for developers

2021 August 17

KD

KAGG Design in WordPress for developers
В конструкторе многие функции просто работать не будут. Возможно, get_theme_option, на основе которой работает аналогичная carbon_get_theme_option, ещё не существует при вызове конструктора и использовать её можно только после init.
источник

🇬

🇬🇪Stalk in WordPress for developers
вот я с этим и столкнулся.. причем не в одном месте своего плагина...
и вот думаю "как бы найти единое решение" для этого...
пока вот только так нашел (как на скриншоте)...
источник

MK

Mikhail Kobzarev in WordPress for developers
вы свой плагин повесьте на хк plugins_loaded

https://www.kobzarev.com/wordpress/great-practice-for-the-plugin-bootstrap-file/
источник

KD

KAGG Design in WordPress for developers
Единых решений нет. В основном большинство функций доступны на init, но возможны варианты
источник

🇬

🇬🇪Stalk in WordPress for developers
аааа.. блин, точно... спасибо...
недавно с WP просто.. да и с самим php полгодика только =)
источник

MD

Maxym Denysenko in WordPress for developers
Хук от Миши лучше будет)
источник

🇬

🇬🇪Stalk in WordPress for developers
да.. я так понимаю, что мне Boot::run повесить на хук, что Миша указал.. и тогда мой плагин начнет стартовать, когда все плагины загружены..
супер.. спасибо, парни! выручили... не люблю я эту кашу из функций в __construct =)
источник

MK

Mikhail Kobzarev in WordPress for developers
источник

MK

Mikhail Kobzarev in WordPress for developers
тут более подрбно
источник

🇬

🇬🇪Stalk in WordPress for developers
да, постоянно читаю.. просто еще не всегда понимаю "кто за кем стартует" из сторонних решений
источник

MK

Mikhail Kobzarev in WordPress for developers
там как раз красивая табличка есть понятная
источник

🇬

🇬🇪Stalk in WordPress for developers
блин.. сложная у тебя структура "старта плагина".. я себе вот так сделал.. хотя фишка "отключить любой свой экшен" - очень круто.. нужно будет реализовать у себя...
===
хотя в моем run() все равно либа Carbon грузится после моего плагина и в __construct ее методы недоступны =)
источник

MK

Mikhail Kobzarev in WordPress for developers
почему класс финальный, а все методы статические?
источник

🇬

🇬🇪Stalk in WordPress for developers
а зачем мне его наследовать?
статические - я не создаю объект Boot, а просто запускаю метод run() у всех плагинов (там как раз все хуки)
источник

KD

KAGG Design in WordPress for developers
Статические методы - кошмар при тестировании
источник

🇬

🇬🇪Stalk in WordPress for developers
ну тут особо и нечего тестировать
пробежались по классам и запустили метод run()
===
но да, больше статику нигде не использую.. читал за нее... выстрел в ногу и все такое =)
источник

KD

KAGG Design in WordPress for developers
Я про автоматическое тестирование
источник

🇬

🇬🇪Stalk in WordPress for developers
аа.. да, тоже читал =)..
источник

АП

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

🇬

🇬🇪Stalk in WordPress for developers
ну я смотрел boilerpate - понравился
мне удобнее, когда я хуки не в одном файле все записываю, а в каждом файле в методе run()
===
ну и бонусом - у меня автокомплит работает при выборе имени хука...
а в WPBB - не работает =)
источник