Функция IS_NETWORK_ADMIN() в WordPress: описание и примеры использования

Функция IS_NETWORK_ADMIN() │ WP 3.1.0

Функция is_network_admin() позволяет узнать, делается ли текущий запрос к административной панели сети WordPress. Это полезно, когда у вас есть многосайтовая установка WordPress и вы хотите проверить, находитесь ли вы в панели управления сетью.

Как это работает

  • Пример URL для доступа к панели управления сетью: /wp-admin/network/
  • Обратите внимание, что данная функция не проверяет, является ли пользователь администратором. Для этого используйте функцию current_user_can().
  • Функция также не проверяет, является ли сайт многосайтовым. Для этого используйте функцию is_multisite().

Производительность

  • 1 вызов функции: 0.000012 сек (очень быстро)
  • 50,000 вызовов: 0.02 сек (практически мгновенно)

PHP: 7.1.2, WP: 4.7.3

Возвращаемые значения

Функция возвращает true или false:

  • true, если текущая страница — это страница администрирования сети WordPress.

Использование

Для использования функции просто вызовите:

is_network_admin();

Примеры использования

Пример 1: Добавление виджета на панель управления

Данный пример показывает, как добавить виджет на панель управления, только если мы находимся в разделе управления сетью:

if ( is_network_admin() ) {
    wp_add_dashboard_widget( 'network_dashboard_right_now', __( 'Сейчас' ), 'wp_network_dashboard_right_now' );
}

Пример 2: Проверка, является ли текущий экран страницей администрирования сети

Этот код проверяет, являетесь ли вы на странице администрирования сети:

if ( is_network_admin() ) {
    echo __( 'Вы находитесь на странице администрирования сети WordPress', 'textdomain' );
} else {
    echo __( 'Вы не находитесь на странице администрирования сети WordPress', 'textdomain' );
}

Заметки

  • Глобальная переменная: $current_screen — это объект текущего экрана WordPress.

Изменения

  • Версия 3.1.0: функция была внедрена.

Код функции

Вот как выглядит код функции is_network_admin() в WordPress:


function is_network_admin() {
if ( isset( $GLOBALS['current_screen'] ) ) {
return $GLOBALS['current_screen']->in_admin( 'network' );
} elseif ( defined( 'WP_NETWORK_ADMIN' ) ) {
return WP_NETWORK_ADMIN;
}
return false;
}

Связанные функции

Вот некоторые другие полезные функции, которые могут быть вам интересны:

  • is_admin()
  • is_multisite()
  • is_blog_admin()
  • и многие другие, которые позволяют выполнять проверки в зависимости от типа страницы или запроса.

Эти функции помогут вам лучше управлять вашим сайтом на WordPress и реализовывать различные сценарии в коде.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *