Я работаю над плагином, и часть его включает установку значения параметра, которое применяется ко всем сайтам в сети WordPress. Я знаю о функциях add_site_option и get_site_option, которые позволяют сохранять значение в таблице wp_sitemeta, но я не могу понять, как разместить поля в соответствующем месте в бэкэнде WordPress и как перехватить сохранение в другом месте. значения, чтобы вставить вызов add_site_option, когда это произойдет.
Для первой проблемы (добавление полей) я обычно использовал бы API настроек, в частности, register_setting и add_settings_field, чтобы добавить новый параметр в белый список, а затем вставить поле для него на соответствующую страницу параметров. Но я нигде не могу найти информацию о том, можете ли вы использовать add_settings_field для добавления поля на страницу «Настройки» в новом разделе «Сетевой администратор» бэкэнда, если есть альтернативная функция, которая делает то же, что и для страниц сетевого администратора, или если вы просто нужно ввести HTML вручную. (Вы можете сделать это вручную, написав функцию, которая отображает поле, а затем подключив эту функцию к действию "wpmu_options", которое запускается в конце страницы настроек в Network Admin. Но тогда вам также придется иметь дело с одноразовыми номерами а все остальное вручную.)
Вторая проблема, вероятно, связана с поиском действия, которое запускается, когда пользователь нажимает «Сохранить» на странице настроек сетевого администратора, но я пока не смог его найти. Любые выводы будут с благодарностью.
Итак - мысли? Существует ли элегантный способ управления опциями для всего плагина через новую область администрирования сети? Если так, как это сделано?
источник
По сути, если вы не хотите создавать свою собственную страницу настроек сетевого администратора, вам нужно будет использовать обе ловушки, упомянутые отдельно в двух других ответах:
Для очень четкого объяснения и полезного примера кода см. Http://zao.is/2013/07/adding-settings-to-network-settings-for-wordpress-multisite/
источник
Я боюсь, что единственный известный мне метод - это метод, который вы упомянули, вручную вводить html и самостоятельно обрабатывать обновления опций. Действие, которое вам нужно использовать для сохранения ваших опций - update_wpmu_options. При необходимости я могу привести более подробный пример, просто дайте мне знать.
источник