Что такое MU-плагины и почему они нужны на уровне ядра

Wait 5 sec.

Разработка на WordPress часто начинается с установки готовых решений из официального репозитория. По мере роста проекта и усложнения требований к безопасности и производительности стандартный подход перестаёт работать. Обычные плагины требуют активации, могут быть случайно отключены или скомпрометированы через уязвимости в графическом интерфейсе. На определённом этапе разработки возникает необходимость внедрить правила, которые применяются на уровне самого сервера и не могут быть изменены через административную панель. Для подобных задач существуют must-use решения.Под MU-плагинами (Must-Use plugins) понимают специфический тип расширений для WordPress, которые располагаются в директории wp-content/mu-plugins. Ядро системы автоматически подхватывает и выполняет любой PHP-файл, находящийся в этой папке. Никакой активации через графический интерфейс не требуется. Код загружается всегда, независимо от состояния базы данных или настроек пользователя.Подобный подход решает фундаментальную проблему разделения ответственности. Обычные плагины отвечают за функциональность, которую можно включать и выключать по желанию владельца сайта. Must-use модули отвечают за правила среды выполнения. Они формируют базовый уровень безопасности, определяют лимиты памяти, блокируют нежелательные эндпоинты и управляют кэшированием.Отличие от обычных расширений кроется в механизме загрузки. Стандартные плагины инициализируются после загрузки ядра и темы. MU-модули выполняются на самом раннем этапе жизненного цикла WordPress, сразу после загрузки базовых констант и до инициализации темы. Разработчик получает возможность перехватывать запросы и модифицировать поведение системы до того, как к ней обратятся другие компоненты. Читать далее