Функция add_network_option() добавляет новую настройку для сети в мультисайт-установке WordPress. Она полезна для сохранения настроек, которые могут быть уникальны для каждой сети. Если опция с указанным именем уже существует, она не будет обновлена — функция просто вернет false.
add_network_option( int $network_id, string $option, mixed $value ): bool
Примечание: если WordPress не настроен как мультисайт, add_network_option() работает как add_option() и добавляет настройки для текущего сайта, а не для сети.
Параметры функции
$network_id(int): ID сети, к которой будет добавлена настройка. Если указаноnull, используется ID текущей сети.$option(string): Название опции. Должно быть уникальным в пределах сети.$value(mixed): Значение опции. Может быть строкой, числом, массивом и другими типами данных.
Возвращаемое значение
- bool: Возвращает
true, если опция была добавлена, иfalse, если она уже существует или произошла ошибка.
Хуки функции
pre_add_site_option_{$option}— вызывается до добавления новой опции.add_site_option_{$option}— вызывается после успешного добавления.add_site_option— вызывается после добавления любой новой сетевой опции.
Пример 1: Добавление простой опции для сети с ID 1
Предположим, что нам нужно добавить опцию footer_text для сети с ID 1, где будет сохранен текст для нижнего колонтитула.
add_network_option( 1, 'footer_text', 'Текст для нижнего колонтитула сети 1' );
Пример 2: Настройка параметра с массивом данных
Добавим опцию social_links для сети с ID 3, чтобы хранить массив ссылок на социальные сети.
$social_links = [
'facebook' => 'https://facebook.com/example',
'twitter' => 'https://twitter.com/example',
];
add_network_option( 3, 'social_links', $social_links );
Пример 3: Добавление числового значения
Добавим числовое значение items_per_page для сети с ID 2, указывающее, сколько элементов отображать на странице.
add_network_option( 2, 'items_per_page', 20 );
Пример 4: Установка опции для текущей сети
Если текущая сеть используется как основная и нет необходимости указывать ID, можно передать null в качестве $network_id. Например, создадим настройку для хранения адреса электронной почты администратора сети.
add_network_option( null, 'network_admin_email', '[email protected]' );
Заключение
Функция add_network_option() удобна для создания и хранения сетевых настроек, которые могут различаться для каждой сети. Она помогает организовать данные в мультисайт-установках WordPress и облегчает управление ими.
Используйте add_network_option() всякий раз, когда требуется создать уникальную настройку для определенной сети, и будьте уверены, что функция не перезапишет существующую опцию.