Pregunta:
Estoy trabajando en un complemento que se instalará en una instancia de varios sitios.
¿Cómo creo una página de configuración única que sea visible solo en el nivel de "Administrador de red"? La mayoría de las guías que he visto se relacionan con un complemento de nivel de blog estándar. Cualquier vínculo a información sería útil; de lo contrario, terminaré revisando las etiquetas de todo el sitio para ver cómo se está haciendo allí.
[Actualizar]
Parece que sitewide_tags usa add_site_option
, get_site_option
y update_site_option
, y estas funciones usan wp_sitemeta. Sin embargo, por lo que puedo ver, no hay soporte para register_setting, add_setting, etc., por lo que debe obtener y configurar sus opciones manualmente.
Respuesta:
Como una referencia
Para crear configuraciones de red o globales, debe hacer lo siguiente
-
Agregar una página de configuración
add_submenu_page( 'settings.php'... # cf options.php for blog level`
-
Agregar una opción global
add_site_option($key,$value)
-
Actualizar una opción global
update_site_option($key,$value)
-
Obtener una opción de sitio
get_site_option($key)
La configuración global se guarda en la tabla sitemeta
(la configuración del blog individual se guarda en la tabla <blog_id>_options
- Creo que la API de configuración funciona a nivel de blog, por lo que usa la tabla de opciones, no sitemeta. Por lo tanto, no puede usar grupos de opciones y similares a nivel de red ( comente si me equivoco )