Функция is_multisite()
в WordPress служит для определения, включён ли режим мультисайта. Это условный тег, который возвращает true
, если мультисайт активирован, и false
, если мультисайт отключен. Это особенно полезно для плагинов или тем, которые должны работать по-разному в зависимости от того, установлен ли сайт в режиме мультисайта или нет.
is_multisite(): bool
Функция возвращает булево значение: true
, если мультисайт включен, и false
, если мультисайт отключен.
Как это работает?
Мультисайт позволяет использовать несколько сайтов на одной установке WordPress. С помощью is_multisite()
можно задавать различные сценарии выполнения кода в зависимости от того, включен ли этот режим. Например, вы можете ограничить определённый функционал, если сайт работает в режиме мультисайта.
Пример 1. Простая проверка наличия мультисайта
Этот код выведет сообщение в консоли администратора, если мультисайт активирован:
if ( is_multisite() ) {
echo 'Мультисайтовость включена';
} else {
echo 'Мультисайтовость отключена';
}
Пример 2. Добавление уведомления в админ-панель для мультисайтов
В этом примере создаётся уведомление, которое выводится только на мультисайтовых установках WordPress:
add_action('admin_notices', function() {
if ( is_multisite() ) {
echo '<div class="notice notice-info"><p>Вы используете WordPress в режиме мультисайта.</p></div>';
}
});
Пример 3. Разные действия для мультисайтовых и одиночных сайтов
Используя is_multisite()
, можно организовать разную обработку при активации плагина:
register_activation_hook(__FILE__, function() {
if ( is_multisite() ) {
// Логика для мультисайтовой установки
error_log('Плагин активирован в режиме мультисайта');
} else {
// Логика для одиночного сайта
error_log('Плагин активирован для одиночного сайта');
}
});
Пример 4. Динамическое обновление опций для мультисайтов
В режиме мультисайта настройки могут сохраняться на уровне всей сети, а не только на уровне одного сайта. С помощью is_multisite()
можно указать, где именно следует сохранять опции.
if ( is_multisite() ) {
update_site_option('my_plugin_option', 'value_for_multisite');
} else {
update_option('my_plugin_option', 'value_for_single_site');
}
Заключение
is_multisite()
— это простая, но мощная функция, которая позволяет разработчикам адаптировать плагины и темы для различных установок WordPress. Она помогает определить, нужно ли использовать функционал, специфичный для мультисайтов, или же ограничить определённые функции для одиночных сайтов.