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é acerca de las funciones add_site_option y 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 guardado de todo el sitio valores para insertar la llamada add_site_option cuando eso suceda.
Para el primer problema (agregar 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 ninguna parte sobre si puede usar add_settings_field para agregar un campo a la página Configuración en la nueva sección Administrador de red del back-end, si hay una función alternativa que hace lo que hace para las páginas de Administrador de red, o si solo hay que inyectar el HTML manualmente. (Puede hacerlo manualmente escribiendo una función que repita el campo y luego conectando 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 luego también tiene que lidiar con nonces y todo lo demás de forma manual.)
El segundo problema probablemente implica encontrar una acción que se ejecuta cuando el usuario presiona "Guardar" en la página de Configuración de administración de red, pero aún no he podido encontrarla. Cualquier pista será muy apreciada.
Entonces, ¿pensamientos? ¿Existe una manera elegante de permitir la administración de opciones en todo el sitio para un complemento a través del nuevo área de administración de red? Si es así, ¿cómo se hace?
fuente
Básicamente, si no desea crear su propia página de configuración de administración de red, deberá usar los dos enlaces mencionados por separado en las otras dos respuestas:
Para obtener una explicación muy clara y una muestra de código útil, consulte http://zao.is/2013/07/adding-settings-to-network-settings-for-wordpress-multisite/
fuente
Me temo que el único método que conozco es el método que mencionó de inyectar manualmente el html y manejar las actualizaciones de las opciones usted mismo. La acción que necesita usar para guardar sus opciones es update_wpmu_options. Si es necesario, puedo proporcionar un ejemplo más detallado, solo avíseme.
fuente