Saltar a contenido

Opciones compartidas entre plugins

Nueve opciones de wp_options las usa más de un plugin. Funcionan, están en producción y no se renombran. Este documento existe porque eran un contrato no escrito: quien leía get_option( 'convoca_members_settings' ) desde Enroll dependía de una decisión interna de Members sin que nada lo dijera.

Regla a partir de ahora: lectura nueva, por filtro. La opción se queda donde está para no romper instalaciones, pero el plugin dueño publica un filtro (o un método estático de su API) y los demás lo consumen. No se añaden lecturas cruzadas nuevas.

Quién escribe y quién lee

Medido sobre el código el 1/11/2026 (no sobre la documentación).

Opción La escribe La leen Nota
convoca_gateway_settings Core (asistente de configuración) y Gateway (diagnóstico) Gateway, Members, Core, Health Check La configuración de cobro la escribe también el asistente de Core: es el cruce más ancho del ecosistema
convoca_members_settings Members Members, Enroll, Core Enroll lee ajustes de socios para decidir si una inscripción crea ficha
convoca_members_plans Core (asistente de configuración) Members, Core Los planes se pueden crear desde el asistente
convoca_pdf_templates — (no se ha localizado escritor directo) Core, Enroll, Members Pendiente de localizar el escritor real antes de tocarla
convoca_document_theme Core y Members Core, Members Dos escritores para el mismo valor: candidato a unificar en Core
convoca_shifts_hora_apertura Shifts (register_setting) y Core (asistente) Shifts, Core El asistente escribe dos veces la misma opción que Shifts registra
convoca_shifts_hora_cierre Shifts (register_setting) y Core (asistente) Shifts, Core Igual que la anterior
convoca_publisher_auto_publish Publisher Publisher, Health Check Health Check solo la lee para el diagnóstico
convoca_uninstall_keep_data Cada plugin 7 plugins Convención compartida, no acoplamiento: cada uno decide si borra lo suyo al desinstalar

Lo que esto dice de la arquitectura

  1. El asistente de configuración de Core escribe opciones de otros plugins. Es la excepción real a la regla «cada plugin manda en lo suyo», y no es un accidente: el asistente existe para dejar un sitio listo de una vez. Se documenta como contrato y no se amplía sin necesidad.
  2. Dos escritores en convoca_document_theme, convoca_shifts_hora_apertura y convoca_shifts_hora_cierre. Mismo valor, dos sitios que lo guardan. Si algún día divergen, el síntoma será «el ajuste no se queda». Unificarlo es un cambio de riesgo medio: requiere decidir quién manda y migrar el valor actual.
  3. convoca_uninstall_keep_data no es acoplamiento. Es una convención: cada plugin comprueba la misma opción para respetar la decisión del administrador de no borrar datos. Se queda como está.

Lo que no se hace en esta fase

  • Renombrar ninguna de las nueve.
  • Cambiar el formato de su valor (hay instalaciones con datos).
  • Quitar el lector cruzado actual: se sustituye por filtro solo cuando se toque ese código por otro motivo, con su prueba de regresión.