feat(adsense): implementar Anchor Ads y Vignette Ads

- Anchor Ads: anuncios fijos top/bottom con botones minimizar/cerrar
- Vignette Ads: modal fullscreen con triggers configurables
- Schema v1.3.0 con grupos anchor_ads y vignette_ads (18 campos)
- FieldMapper actualizado para persistir settings en BD
- JavaScript para interacción (colapso, cierre, localStorage)
- Soporte para responsive y tamaños fijos en vignette

IMPORTANTE: Ejecutar en servidor remoto:
wp roi-theme sync-component adsense-placement

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-28 21:00:00 -06:00
parent 4d5cc1a58c
commit b96a13427e
6 changed files with 1313 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
{
"component_name": "adsense-placement",
"version": "1.2.0",
"description": "Control de AdSense y Google Analytics - Panel reorganizado",
"version": "1.3.0",
"description": "Control de AdSense y Google Analytics - Con Anchor y Vignette Ads",
"groups": {
"visibility": {
"label": "Activacion",
@@ -261,6 +261,182 @@
}
}
},
"anchor_ads": {
"label": "Anuncios Fijos (Anchor)",
"priority": 71,
"fields": {
"anchor_enabled": {
"type": "boolean",
"label": "Activar Anchor Ads",
"default": false,
"editable": true,
"description": "Anuncios fijos en el borde de la pantalla"
},
"anchor_position": {
"type": "select",
"label": "Posicion del anuncio fijo",
"default": "bottom",
"editable": true,
"options": ["top", "bottom", "both"],
"description": "Solo superior, solo inferior, o ambos"
},
"anchor_height": {
"type": "select",
"label": "Altura del anchor",
"default": "90",
"editable": true,
"options": ["50", "90", "100", "120"],
"description": "Altura en pixeles"
},
"anchor_show_on_mobile": {
"type": "boolean",
"label": "Mostrar en movil",
"default": true,
"editable": true,
"description": "Pantallas menores a 1000px"
},
"anchor_show_on_wide_screens": {
"type": "boolean",
"label": "Permitir en pantallas anchas (>1000px)",
"default": false,
"editable": true,
"description": "Como las de computadora"
},
"anchor_collapsible_enabled": {
"type": "boolean",
"label": "Permitir anchors contraibles",
"default": true,
"editable": true,
"description": "Usuario puede minimizar en lugar de cerrar"
},
"anchor_collapsed_height": {
"type": "select",
"label": "Altura contraido",
"default": "24",
"editable": true,
"options": ["20", "24", "28", "32"],
"description": "Altura cuando esta minimizado"
},
"anchor_collapse_button_text": {
"type": "text",
"label": "Texto boton expandir",
"default": "Ver anuncio",
"editable": true
},
"anchor_close_position": {
"type": "select",
"label": "Posicion boton cerrar",
"default": "right",
"editable": true,
"options": ["left", "right", "center"]
},
"anchor_remember_state": {
"type": "boolean",
"label": "Recordar cierre/colapso",
"default": true,
"editable": true,
"description": "Usa localStorage para recordar estado"
},
"anchor_remember_duration": {
"type": "select",
"label": "Duracion del recuerdo",
"default": "session",
"editable": true,
"options": ["session", "1hour", "1day", "1week"]
}
}
},
"vignette_ads": {
"label": "Anuncios de Vineta (Pantalla Completa)",
"priority": 72,
"fields": {
"vignette_enabled": {
"type": "boolean",
"label": "Activar Vignette Ads",
"default": false,
"editable": true,
"description": "Anuncios pantalla completa entre cargas de pagina"
},
"vignette_trigger": {
"type": "select",
"label": "Cuando mostrar",
"default": "pageview",
"editable": true,
"options": ["pageview", "scroll_50", "scroll_75", "exit_intent", "time_delay"],
"description": "Disparador del vignette"
},
"vignette_trigger_delay": {
"type": "text",
"label": "Delay inicial (segundos)",
"default": "5",
"editable": true,
"description": "Segundos antes de mostrar"
},
"vignette_show_on_mobile": {
"type": "boolean",
"label": "Mostrar en movil",
"default": true,
"editable": true
},
"vignette_show_on_desktop": {
"type": "boolean",
"label": "Mostrar en desktop",
"default": true,
"editable": true
},
"vignette_size": {
"type": "select",
"label": "Tamano del anuncio",
"default": "300x250",
"editable": true,
"options": ["300x250", "336x280", "responsive"]
},
"vignette_overlay_opacity": {
"type": "select",
"label": "Opacidad del fondo",
"default": "0.7",
"editable": true,
"options": ["0.5", "0.6", "0.7", "0.8", "0.9"]
},
"vignette_close_button_delay": {
"type": "select",
"label": "Delay boton cerrar (segundos)",
"default": "0",
"editable": true,
"options": ["0", "1", "2", "3", "5"],
"description": "Segundos antes de mostrar el boton X"
},
"vignette_reshow_enabled": {
"type": "boolean",
"label": "Permitir reaparicion",
"default": true,
"editable": true,
"description": "Puede volver a aparecer despues de cerrarlo"
},
"vignette_reshow_time": {
"type": "select",
"label": "Tiempo para reaparecer (minutos)",
"default": "5",
"editable": true,
"options": ["1", "2", "3", "4", "5", "10", "15", "30"],
"description": "Minutos antes de poder volver a mostrar"
},
"vignette_max_per_session": {
"type": "select",
"label": "Maximo por sesion",
"default": "3",
"editable": true,
"options": ["1", "2", "3", "5", "unlimited"]
},
"vignette_max_per_page": {
"type": "select",
"label": "Maximo por pagina",
"default": "1",
"editable": true,
"options": ["1", "2", "unlimited"]
}
}
},
"layout": {
"label": "Ubicaciones Archivos/Globales",
"priority": 80,