Documentación General

Documentación General

Información General

  • Nombre completo: MYAP – Mini YouTube Audio Player
  • Versión actual: 1.5.7-beta
  • Autor: José Lobos Sanhueza
  • Descripción: Un reproductor minimalista de audio que utiliza videos de YouTube con panel de administración completo
  • Compatibilidad: WordPress 5.0+ | PHP 7.0+ | Probado hasta WordPress 6.5

Propósito del Plugin

MYAP permite crear reproductores de audio minimalistas que utilizan videos de YouTube como fuente de contenido, ofreciendo una experiencia de reproducción centrada únicamente en el audio, sin distracciones visuales del video.

Características Principales

Gestión de Shortcodes Dinámicos

  • Creación automática de shortcodes: Cada reproductor configurado genera un shortcode único con formato [myap-XXXX]
  • Numeración secuencial: IDs autogenerados con formato de 4 dígitos (0001, 0002, etc.)
  • Registro dinámico: Los shortcodes se registran automáticamente en WordPress sin necesidad de configuración manual

Panel de Administración Completo

  • Interfaz intuitiva: Panel de administración ubicado en el menú principal de WordPress
  • Gestión centralizada: Visualización de todos los reproductores creados en una tabla organizada
  • Operaciones CRUD: Crear, editar, eliminar y visualizar reproductores desde una sola interfaz

Configuración Avanzada de Reproductores

Parámetros de Personalización

  • ID del Video: Compatible con cualquier video público de YouTube
  • Colores personalizables:
    • Color principal del reproductor (botón play y barra de progreso)
    • Color de fondo personalizable
    • Opción de fondo transparente
  • Dimensiones: Ancho personalizable en píxeles con opción de ancho automático
  • Layouts: Dos disposiciones disponibles
    • Normal: Play → Progreso → Tiempo
    • Invertido: Progreso → Tiempo → Play

Integración con YouTube

  • API de YouTube: Utiliza la YouTube Iframe API para la reproducción
  • Obtención automática de títulos: Integración con YouTube oEmbed API para mostrar títulos de videos automáticamente
  • Manejo de errores: Validación de videos y manejo de contenido no disponible

Funcionalidades AJAX

  • Guardado asíncrono: Creación y edición de reproductores sin recargar la página
  • Eliminación segura: Confirmación y eliminación de reproductores vía AJAX
  • Obtención de datos: Carga de configuraciones de reproductores para edición
  • Títulos dinámicos: Obtención automática de títulos de videos de YouTube

Funciones Técnicas del Plugin

Arquitectura de Clases

El plugin está construido como una clase única MYAP_Player que encapsula toda la funcionalidad:

Métodos Principales

  • __construct(): Inicialización del plugin y registro de hooks
  • enqueue_scripts(): Carga de recursos CSS y JavaScript
  • add_admin_menu(): Creación del menú de administración
  • register_dynamic_shortcodes(): Registro automático de shortcodes
  • render_player_shortcode(): Generación del HTML del reproductor

Gestión de Datos

  • Almacenamiento: Utiliza WordPress Options API para persistencia
  • Sanitización: Validación y limpieza de todos los datos de entrada
  • Versionado: Control de versión dinámico del plugin

Seguridad

  • Verificación de nonces: Protección CSRF en todas las operaciones AJAX
  • Validación de permisos: Verificación de capacidades de usuario (manage_options)
  • Sanitización de datos: Limpieza de todos los inputs del usuario
  • Escape de salida: Protección contra XSS en la renderización

Optimización

  • Carga condicional: Scripts de administración solo se cargan en la página correspondiente
  • IDs únicos: Generación de identificadores únicos para evitar conflictos
  • Cacheable: Aprovecha el sistema de opciones de WordPress para rendimiento

Flujo de Trabajo del Plugin

Proceso de Creación de Reproductores

  1. Acceso al panel: Usuario accede a “MYAP Plugin” en el menú de WordPress
  2. Configuración: Ingreso de parámetros (ID de video, colores, dimensiones, layout)
  3. Validación: El plugin valida la existencia del video en YouTube
  4. Generación: Creación automática del shortcode con ID único
  5. Almacenamiento: Guardado seguro de la configuración en la base de datos

Renderización de Reproductores

  1. Detección: WordPress detecta el shortcode en el contenido
  2. Carga de datos: Recuperación de la configuración almacenada
  3. Generación HTML: Creación del markup del reproductor con estilos personalizados
  4. Inicialización: JavaScript toma control para la funcionalidad del reproductor

Compatibilidad y Requisitos

Requisitos del Sistema

  • WordPress: Versión 5.0 o superior
  • PHP: Versión 7.0 o superior
  • Conexión a internet: Requerida para la carga de videos de YouTube

Dependencias Externas

  • YouTube Iframe API: Para la funcionalidad de reproducción
  • YouTube oEmbed API: Para la obtención de metadatos de videos
  • jQuery: Para la funcionalidad de la interfaz de administración

Archivos del Plugin

  • PHP principal: myap.php
  • JavaScript: js/myap-admin.js y js/myap-player.js
  • CSS: css/myap-admin.css y css/myap-player.css
  • Templates: templates/myap-admin.php y templates/myap-player.php
  • Markdown: README.md

Características Destacadas

Experiencia de Usuario

  • Interfaz minimalista: Diseño limpio centrado en la funcionalidad de audio
  • Responsive: Adaptable a diferentes tamaños de pantalla
  • Accesible: Controles intuitivos y navegación por teclado

Experiencia de Administrador

  • Gestión visual: Tabla con vista previa de todos los reproductores
  • Copia rápida: Botón para copiar shortcodes al portapapeles
  • Edición in-place: Modificación de reproductores existentes sin duplicar
  • Feedback inmediato: Notificaciones de éxito y error en tiempo real

Flexibilidad

  • Múltiples instancias: Soporte para infinitos reproductores en el mismo sitio
  • Personalización completa: Control total sobre apariencia y comportamiento
  • Integración nativa: Funciona con cualquier editor de WordPress (Gutenberg, clásico, etc.)