Как WordPress Multisite узнает, что плагин установлен?
Я запускаю многоузловую сеть WP.
Мне любопытно узнать, как WordPress узнает, что плагин установлен на сетевом сайте:
- как WP узнает, что плагин активирован в сети?
- как WP узнает, что плагин активирован на уровне сайта?
Записывает ли он этот экземпляр где-нибудь в таблице БД? Если да, то какая таблица и как она помечена?
Спасибо за помощь.
1 answers
Вы можете четко увидеть, как WordPress загружает плагины, если вы проверите исходный код файла wp-settings.php
.
Функция wp_get_active_and_valid_plugins()
загружает плагины для отдельных сайтов в сети и для установок, не связанных с несколькими сайтами, в то время как wp_get_active_network_plugins()
загружает подключаемые модули, активированные сетью, когда включена поддержка нескольких сайтов.
Первый более или менее просто вызывает get_option(), чтобы получить опцию active_plugins
из таблицы базы данных wp_options, в то время как последний использует get_site_option(), которая сетевая версия get_option()
. Опция, в которой подключены сетевые плагины, называется active_sitewide_plugins
.