Функция get_network_option()
используется для получения значения заданной опции сети в WordPress. Она является частью функциональности мультисайтов (Multisite) и позволяет работать с уникальными параметрами каждой сети. Если WordPress не настроен как мультисайт, то вместо get_network_option()
применяется get_option()
для текущего сайта.
Важно: Если запрашиваемая опция не существует, функция вернет значение по умолчанию, указанное в третьем параметре.
get_network_option( int $network_id, string $option, mixed $default_value = false ): mixed
Параметры функции
$network_id
(int): ID сети, для которой требуется получить опцию. Если указаноnull
, используется ID текущей сети.$option
(string): Название опции, которую нужно получить.$default_value
(mixed): Значение, возвращаемое, если опция не существует. По умолчанию этоfalse
.
Возвращаемое значение
- mixed: Возвращает значение опции, если оно существует. В противном случае возвращает
false
или значение, указанное в$default_value
.
Хуки функции
pre_site_option_{$option}
— вызывается до получения опции.default_site_option_{$option}
— вызывается для установки значения по умолчанию.site_option_{$option}
— вызывается после получения опции.
Пример 1: Получение email администратора сети
Допустим, у нас есть несколько сетей, и нам нужно получить email администратора для сети с ID 2
.
$admin_email = get_network_option( 2, 'admin_email' );
Пример 2: Получение текстового значения для сайта сети
Предположим, мы хотим получить название сайта сети с ID 3
. Если параметр не существует, возвращаем значение по умолчанию 'Сайт сети'
.
$site_name = get_network_option( 3, 'site_name', 'Сайт сети' );
Пример 3: Получение допустимых типов файлов для загрузки
Для сети с ID 5
нам нужно получить типы файлов, которые разрешены для загрузки. Если опция не настроена, возвращаем стандартное значение.
$upload_filetypes = get_network_option( 5, 'upload_filetypes', 'jpg jpeg png gif' );
Пример 4: Получение лимита места для загрузки файлов
Пусть у нас есть сеть с ID 4
, и требуется узнать, сколько мегабайт выделено под загрузку файлов для этой сети.
$upload_limit = get_network_option( 4, 'blog_upload_space', 200 ); // Значение по умолчанию - 200 MB
Пример 5: Проверка возможности добавления новых пользователей
Получим значение опции add_new_users
для текущей сети, чтобы узнать, разрешено ли добавление новых пользователей. Если параметр отсутствует, возвращаем значение 0
(запрещено).
$can_add_users = get_network_option( null, 'add_new_users', 0 );
Сравнение с другими функциями WordPress
WordPress предоставляет несколько похожих функций для работы с настройками, в зависимости от уровня:
get_network_option()
иget_site_option()
— работают на уровне сети.get_blog_option()
иget_option()
— работают на уровне отдельного сайта.
Используйте get_network_option()
, если требуется доступ к настройкам мультисайта, и get_option()
— если нужен доступ к настройкам только одного сайта.
Заключение
Функция get_network_option()
предоставляет удобный способ доступа к настройкам сети в мультисайт-среде WordPress. Она полезна для работы с уникальными параметрами, которые могут меняться для каждой сети. Если функция вызывается в среде без мультисайтов, то ее роль выполняет get_option()
, что делает разработку более универсальной.