IS_MAIN_SITE() │ WP 3.0.0
Функция is_main_site() используется для определения, является ли текущий сайт основным сайтом в сети WordPress. Это особенно полезно при работе с многоуровневыми сайтами (multisite).
Использование
Функция позволяет проверить, является ли указанный сайт основным в сети, или же определяет, есть ли сеть в принципе.
Параметры
-
$site_id (int) — Идентификатор сайта, который необходимо проверить. По умолчанию используется идентификатор текущего сайта.
-
$network_id (int) — Идентификатор сети, в которой нужно выполнить проверку. По умолчанию используется текущая сеть.
Возвращаемое значение
Функция возвращает true, если указанный сайт является основным сайтом сети или если многоуровневая сеть не активирована (multisite).
Пример использования
Для выполнения действий только на основном сайте сети, используйте следующий код:
if ( is_main_site() ) {
// это основной сайт сети
}
Скорость выполнения
- Время выполнения: около 0.000013 секунд (очень быстро)
- При вызове 50,000 раз: 0.045192 секунд (что сложно назвать медленно)
Код функции
Вот как выглядит код функции is_main_site() в версии WordPress 6.7.2:
function is_main_site( $site_id = null, $network_id = null ) {
if ( ! is_multisite() ) {
return true;
}
if ( ! $site_id ) {
$site_id = get_current_blog_id();
}
$site_id = (int) $site_id;
return get_main_site_id( $network_id ) === $site_id;
}
Этот код выполняет следующие действия:
- Проверяет, активирована ли функция многоуровневого сайта.
- Если многоуровневая сеть не активирована, возвращает
true(т.е. текущий сайт считается основным). - Если не указан идентификатор сайта, получает его с помощью функции
get_current_blog_id(). - Сравнивает идентификатор сайта с основным иде��тификатором сети, используя
get_main_site_id().
Связанные функции
Вам также могут быть полезны следующие функции для работы с многоуровневыми сайтами:
get_blog_details()— Получает детали блога по его идентификатору.get_current_blog_id()— Получает идентификатор текущего блога.get_main_site_id()— Получает идентификатор основного сайта сети.is_multisite()— Проверяет, включена ли возможность многоуровневых сайтов.
Эти функции расширяют возможности работы с многоуровневыми сайтами и позволяют более удобно управлять сайтами в сети.
Эта статья поможет вам лучше понять и использовать функцию is_main_site() в WordPress. Вы сможете легко определить, находитесь ли вы на основном сайте сети и выполнить все необходимые действия для своего проекта.