Как WordPress Multisite узнает, что плагин установлен?


Я запускаю многоузловую сеть WP.

Мне любопытно узнать, как WordPress узнает, что плагин установлен на сетевом сайте:

  • как WP узнает, что плагин активирован в сети?
  • как WP узнает, что плагин активирован на уровне сайта?

Записывает ли он этот экземпляр где-нибудь в таблице БД? Если да, то какая таблица и как она помечена?

Спасибо за помощь.

Author: tammy, 2015-07-06

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.

 5
Author: Martin Sotirov, 2015-07-06 14:12:39