Ampliar los ajustes

Añadir tus propias secciones y campos a la pantalla de ajustes de POM LMS.

El filtro

add_filter( 'pom_lms_settings', 'my_lms_settings' );

function my_lms_settings( array $settings ): array {
    // Add your section.

    return $settings;
}

pom_lms_settings recibe la definición de toda la pantalla de ajustes —las secciones, sus pestañas y los grupos de ajustes que hay dentro de ellas— y debe devolverla.

La estructura

Cada sección incluye un título, los roles que pueden modificarla y sus pestañas. Cada pestaña contiene grupos de ajustes, y cada grupo indica un directorio de definiciones de campos.

Las secciones propias del plugin son Course, Lesson y Account, además de la sección de licencia.

Añade una sección propia en lugar de insertar campos en las del plugin. Así los editores saben qué ajustes pertenecen a cada producto y tu sección sobrevive a los cambios en el diseño del propio plugin.

Roles permitidos

Cada sección declara qué roles pueden modificarla. Las secciones del plugin permiten administrador, editor y gestor de tienda.

Elige deliberadamente para tu propia sección. Si configura algo con consecuencias económicas o de acceso, restringirla a administradores es razonable —pero no des por hecho que la lista del plugin es la adecuada para tus ajustes solo porque sea la predeterminada aquí.

Campos

Los campos se definen en su propio archivo por cada grupo de ajustes, devolviendo un array de definiciones de campos: tipo, nombre, etiqueta, opciones, valor predeterminado y dependencias opcionales que muestran u ocultan un campo en función de otro.

Sigue la forma de los grupos existentes del plugin. Los tipos disponibles son los del theme, y por eso un ajuste de POM LMS puede ofrecer la paleta de colores del sitio o los estilos de botón sin definirlos.

Nombres

Prefija los nombres de tus ajustes. Una colisión con un ajuste de POM LMS significa que un valor sobrescribe silenciosamente al otro.

Leer tus ajustes

Léelos a través del accesor de ajustes del framework, igual que el plugin lee los suyos —no accediendo directamente a la opción. El diseño del almacenamiento no es una interfaz pública, y leerlo directamente es lo primero que se rompe en una actualización.

Dónde no poner los ajustes

No todo pertenece a esta pantalla. Si tu integración es un plugin propio, debería tener su propia pantalla de ajustes; añadir una sección a POM LMS vincula tu configuración al ciclo de vida de otro producto, y desaparece si POM LMS se desactiva.

Añade aquí una sección cuando los ajustes configuran de verdad cursos y lecciones —un diseño de catálogo, una integración entre los cursos y tu propio sistema. Pon todo lo demás en tu propia pantalla.

Los ajustes son de todo el sitio

Como los del propio plugin, todo lo que añadas aquí se aplica a todo el sitio. No hay ningún mecanismo de ajustes por curso al que engancharse.

Si tu función necesita configuración por curso, añade en su lugar un campo al editor de cursos. Consulta Ampliar el metabox del curso.

Compatibilidad

El filtro es estable. El contenido de la estructura no lo es —las secciones y los grupos pueden añadirse o reorganizarse entre versiones.

Añade tus propias claves y devuelve el array. No dependas de que los nombres de las secciones del plugin estén presentes, y no los elimines.