Функция 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()
всякий раз, когда требуется создать уникальную настройку для определенной сети, и будьте уверены, что функция не перезапишет существующую опцию.