- Verificación de entorno XAMPP (PHP 8.0.30, Composer 2.9.1, WP-CLI 2.12.0) - Configuración de Composer con PSR-4 para 24 namespaces - Configuración de PHPUnit con 140 tests preparados - Configuración de PHPCS con WordPress Coding Standards - Scripts de backup y rollback con mejoras de seguridad - Estructura de contextos (admin/, public/, shared/) - Schemas JSON para 11 componentes del sistema - Código fuente inicial con arquitectura limpia en src/ - Documentación de procedimientos de emergencia 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
113 lines
3.3 KiB
JSON
113 lines
3.3 KiB
JSON
{
|
|
"component_name": "share-buttons",
|
|
"version": "1.0.0",
|
|
"description": "Botones para compartir contenido en redes sociales",
|
|
"groups": {
|
|
"visibility": {
|
|
"label": "Visibilidad",
|
|
"priority": 10,
|
|
"fields": {
|
|
"is_enabled": {
|
|
"type": "boolean",
|
|
"label": "Activar botones de compartir",
|
|
"default": true,
|
|
"required": true,
|
|
"description": "Activa o desactiva los botones de compartir en redes sociales"
|
|
},
|
|
"show_label": {
|
|
"type": "boolean",
|
|
"label": "Mostrar etiqueta",
|
|
"default": true,
|
|
"description": "Muestra u oculta el texto de etiqueta antes de los botones"
|
|
},
|
|
"label_text": {
|
|
"type": "text",
|
|
"label": "Texto de etiqueta",
|
|
"default": "Compartir:",
|
|
"maxlength": 100,
|
|
"conditional_logic": {
|
|
"field": "show_label",
|
|
"operator": "==",
|
|
"value": true
|
|
},
|
|
"description": "Texto que aparece antes de los botones"
|
|
}
|
|
}
|
|
},
|
|
"networks": {
|
|
"label": "Redes Sociales",
|
|
"priority": 20,
|
|
"fields": {
|
|
"enabled_networks": {
|
|
"type": "multiselect",
|
|
"label": "Redes sociales habilitadas",
|
|
"default": ["facebook", "instagram", "linkedin", "whatsapp", "twitter", "email"],
|
|
"options": {
|
|
"facebook": "Facebook",
|
|
"instagram": "Instagram",
|
|
"linkedin": "LinkedIn",
|
|
"whatsapp": "WhatsApp",
|
|
"twitter": "Twitter / X",
|
|
"email": "Email"
|
|
},
|
|
"required": true,
|
|
"description": "Lista de redes sociales que se mostrarán"
|
|
},
|
|
"show_network_labels": {
|
|
"type": "boolean",
|
|
"label": "Mostrar nombres de redes",
|
|
"default": false,
|
|
"description": "Muestra el nombre de la red social junto al icono"
|
|
}
|
|
}
|
|
},
|
|
"button_styles": {
|
|
"label": "Estilos de Botones",
|
|
"priority": 30,
|
|
"fields": {
|
|
"button_style": {
|
|
"type": "select",
|
|
"label": "Estilo de botones",
|
|
"default": "outline",
|
|
"options": {
|
|
"outline": "Outline (contorno)",
|
|
"solid": "Solid (relleno)"
|
|
},
|
|
"required": true,
|
|
"description": "Estilo visual de los botones"
|
|
},
|
|
"button_size": {
|
|
"type": "select",
|
|
"label": "Tamaño de botones",
|
|
"default": "sm",
|
|
"options": {
|
|
"sm": "Pequeño",
|
|
"md": "Mediano",
|
|
"lg": "Grande"
|
|
},
|
|
"required": true,
|
|
"description": "Tamaño de los botones"
|
|
}
|
|
}
|
|
},
|
|
"advanced": {
|
|
"label": "Configuración Avanzada",
|
|
"priority": 40,
|
|
"fields": {
|
|
"container_classes": {
|
|
"type": "text",
|
|
"label": "Clases CSS del contenedor",
|
|
"default": "my-5 py-4 border-top",
|
|
"description": "Clases CSS adicionales para el contenedor principal"
|
|
},
|
|
"buttons_wrapper_classes": {
|
|
"type": "text",
|
|
"label": "Clases CSS del wrapper de botones",
|
|
"default": "d-flex gap-2 flex-wrap share-buttons",
|
|
"description": "Clases CSS para el wrapper de los botones"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|