refactor: move Analytics from ThemeSettings to AdsensePlacement

- Remove Analytics and AdSense tabs from theme-settings component
- Add Analytics group to adsense-placement component
- Add roi_enqueue_analytics_script() for GA4/UA support
- Clean up ThemeSettings to only handle custom code (CSS/JS)
- Update FormBuilders and FieldMappers accordingly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-27 18:43:39 -06:00
parent 3279b7df2b
commit b70e11be62
8 changed files with 193 additions and 357 deletions

View File

@@ -1,27 +1,20 @@
{
"component_name": "adsense-placement",
"version": "1.0.0",
"description": "Control manual de ubicacion de anuncios AdSense",
"version": "1.1.0",
"description": "Control de AdSense y Google Analytics",
"groups": {
"visibility": {
"label": "Visibilidad",
"label": "Visibilidad AdSense",
"priority": 10,
"fields": {
"is_enabled": {
"type": "boolean",
"label": "Activar Placement Manual",
"label": "Activar AdSense",
"default": false,
"editable": true,
"required": true,
"description": "Activa el control manual de ubicacion de anuncios"
},
"disable_auto_ads": {
"type": "boolean",
"label": "Deshabilitar Auto Ads",
"default": true,
"editable": true,
"description": "Desactiva Auto Ads de Google cuando el placement manual esta activo"
},
"show_on_desktop": {
"type": "boolean",
"label": "Mostrar en escritorio",
@@ -38,6 +31,33 @@
}
}
},
"analytics": {
"label": "Google Analytics",
"priority": 15,
"fields": {
"analytics_enabled": {
"type": "boolean",
"label": "Activar Analytics",
"default": false,
"editable": true,
"description": "Activa Google Analytics en el sitio"
},
"ga_tracking_id": {
"type": "text",
"label": "Google Analytics ID",
"default": "",
"editable": true,
"description": "ID de seguimiento (G-XXXXXXXXXX o UA-XXXXXXXX-X)"
},
"ga_anonymize_ip": {
"type": "boolean",
"label": "Anonimizar IP (GDPR)",
"default": true,
"editable": true,
"description": "Recomendado para cumplir con GDPR/RGPD"
}
}
},
"content": {
"label": "Credenciales AdSense",
"priority": 20,

View File

@@ -1,51 +1,11 @@
{
"component_name": "theme-settings",
"version": "1.2.0",
"description": "Configuraciones globales del tema: analytics, adsense y codigo personalizado",
"version": "1.3.0",
"description": "Configuraciones globales del tema: codigo personalizado",
"groups": {
"analytics": {
"label": "Analytics",
"priority": 10,
"fields": {
"ga_tracking_id": {
"type": "text",
"label": "Google Analytics ID",
"default": "",
"editable": true,
"description": "ID de seguimiento de Google Analytics (ej: G-XXXXXXXXXX o UA-XXXXXXXX-X)"
},
"ga_anonymize_ip": {
"type": "boolean",
"label": "Anonimizar IP",
"default": true,
"editable": true,
"description": "Anonimiza las direcciones IP de los visitantes (recomendado para GDPR)"
}
}
},
"adsense": {
"label": "Google AdSense",
"priority": 20,
"fields": {
"adsense_publisher_id": {
"type": "text",
"label": "Publisher ID",
"default": "",
"editable": true,
"description": "ID de publicador de AdSense (ej: ca-pub-1234567890123456)"
},
"adsense_auto_ads": {
"type": "boolean",
"label": "Activar Auto Ads",
"default": false,
"editable": true,
"description": "Permite que Google coloque anuncios automaticamente en las mejores ubicaciones"
}
}
},
"custom_code": {
"label": "Codigo Personalizado",
"priority": 30,
"priority": 10,
"fields": {
"custom_css": {
"type": "textarea",