Intereting Posts
Пользовательские соглашения / реестр имен, для ссылок в социальных сетях PHP-уведомления появляются при просмотре любой страницы в администраторе, но только для дочерней темы, используя код из WP Codex Должен ли я использовать пользовательские типы сообщений или настраиваемые таблицы базы данных для разработки плагинов? Команда SQL для восстановления обработанных комментариев Добавить теги для ранее созданных пользовательских типов сообщений Как сделать страницу целевой страницей? Изменение файлов без потери настроек после обновлений Использовать пользовательскую таксономию вместо статуса должности? Multisite: настройка темы и параметров при создании нового блога получение post_id из post_meta WP-API – сервер OAuth 1.0a, как реализовать с помощью AngularJS? Почему я получаю ERR_NAME_NOT_RESOLVED, когда добавляю сайт в свою многоуровневую установку? Отображение силы WooCommerce для адресов базовых адресов страны Внутренняя ссылка администратора Перепишите правила для URL-адреса скрипт wp_mail с jquery post

Лучший способ обновить многочисленную таблицу базы данных многопользовательского плагина

В кодексе объясняется, как подключиться к plugin_loaded и проверить версию текущего установленного плагина на то, что зарегистрировано в параметрах, а затем понять, нужно ли обновлять таблицу плагинов.

Вопрос в том, каков способ сделать это с помощью многосайтового плагина с пользовательскими таблицами базы данных для каждого сетевого блога? Если я plugin_loaded тогда случайный пользователь, который окажется первым, который выполняет код, должен будет взять всю нагрузку на этот потенциально огромный и длительный процесс.

Нет ли ручного способа сделать это? как-то через cron? другие предложения?

Solutions Collecting From Web of "Лучший способ обновить многочисленную таблицу базы данных многопользовательского плагина"

Вы можете просто добавить проверку для is_admin() и current_user_can("update_plugins") чтобы убедиться, что вы работаете только для пользователей-администраторов, которые в настоящее время находятся в wp-admin. Любой пользователь, просматривающий переднюю часть, ничего не заметит, войдет в систему или нет.

Вероятно, вы также захотите убедиться, что это выполняется только один раз, чтобы избежать условий гонки, которые могли бы привести к ошибкам базы данных, например, при одновременном использовании одного и того же ALTER TABLE add ... .