Описание ms_loaded
— Action
Хук ms_loaded срабатывает после полной загрузки сети Multisite в WordPress. Он позволяет выполнять действия, которые зависят от состояния сети, например, инициализацию плагинов, настройку пользовательских функций или выполнение запросов к базе данных на уровне сети.
Примеры использования
Пример выполнения кода после загрузки сети Multisite:
add_action('ms_loaded', function() {
// Запускаем код, который необходимо выполнить после загрузки сети
error_log('Сеть Multisite загружена');
});
В этом примере мы записываем сообщение в лог, когда сеть Multisite полностью загружена.
Пример инициализации пользовательских настроек:
add_action('ms_loaded', function() {
// Инициализация пользовательских настроек для сети
if (!get_option('my_custom_network_setting')) {
add_option('my_custom_network_setting', 'значение');
}
});
Этот код проверяет, существует ли пользовательская настройка, и создает её, если нет.
Пример регистрации кастомного типа записей для всей сети:
add_action('ms_loaded', function() {
register_post_type('custom_type', array(
'labels' => array(
'name' => 'Кастомные записи',
'singular_name' => 'Кастомная запись'
),
'public' => true,
'has_archive' => true,
));
});
В этом примере мы регистрируем новый тип записей, доступный для всех сайтов в сети.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо выполнить действия, которые зависят от состояния сети Multisite после её полной загрузки.
– Производительность
Поскольку хук срабатывает после загрузки всей сети, убедитесь, что ваш код оптимизирован, чтобы не замедлять загрузку.
– Предупреждения
Избегайте использования длительных операций внутри этого хука, так как это может повлиять на производительность сети.
Альтернативы
Тип: action
Этот хук срабатывает после полной инициализации WordPress, но до загрузки шаблона.
Используйте его для выполнения действий, которые не зависят от состояния сети Multisite.
Тип: action
Срабатывает после загрузки всех компонентов WordPress.
Используйте его, если вам нужно выполнить код после загрузки, но не обязательно на уровне сети.