Estoy trabajando en un complemento, y parte de él implica establecer un valor de opción que se aplique a todos los sitios en una red de WordPress. Sé sobre add_site_option y Funciones get_site_option que le permiten guardar el valor en la tabla wp_sitemeta, pero lo que no puedo entender es cómo colocar los campos en el lugar apropiado en el backend de WordPress y cómo interceptar el ahorro de los valores de todo el sitio. para insertar la llamada add_site_option cuando eso ocurra.
Para el primer problema (agregando los campos), normalmente usaría la API de configuración, específicamente register_setting y add_settings_field , para incluir en la lista blanca la nueva opción y luego insertar un campo en la página de opciones correspondiente. Pero no puedo encontrar información en ningún lugar sobre si puede usar add_settings_field para agregar un campo a la página de Configuración en la nueva sección de Administración de red del backend, si hay una función alternativa que hace lo que hace por las páginas de Administración de red, o si Solo hay que inyectar el HTML manualmente. (Puede hacerlo manualmente escribiendo una función que haga eco en el campo y luego conecte esa función a la acción "wpmu_options", que se ejecuta al final de la página de Configuración en Network Admin. Pero también tiene que lidiar con los nonces y todo lo demás manualmente.)
Es probable que el segundo problema implique encontrar una acción que se ejecute cuando el usuario presione "Guardar" en la página de configuración del administrador de red, pero aún no he podido encontrarlo. Cualquier pista sería muy apreciada.
Entonces, ¿pensamientos? ¿Existe una manera elegante de permitir la administración de las opciones de todo el sitio para un complemento a través del área de administración de red nueva? Si es así, ¿cómo se hace?