Fix CTA: Reemplazar sistema dual HTML/JS con sistema PHP robusto - Issue #126
PROBLEMA RAÍZ:
Había DOS sistemas de A/B testing en conflicto:
1. Sistema PHP completo en cta-ab-testing.php (NO usado)
2. Sistema HTML/JS en single.php + main.js (ambas variantes hardcodeadas con display:none)
El JavaScript no ejecutaba de forma confiable, causando que el CTA:
- A veces no apareciera (ambas variantes quedaban ocultas)
- A veces aparecieran ambas variantes simultáneamente
SOLUCIÓN:
Activar el sistema PHP que ya existía. Más robusto porque:
- Renderiza solo UNA variante server-side (sin timing issues)
- Usa cookies para persistencia de 30 días por usuario
- Elimina race conditions de JavaScript
CAMBIOS:
1. cta-ab-testing.php:
- Actualizar URLs de '#' a home_url('/catalogo') y home_url('/planes')
- Cambiar apus_render_cta() para usar .cta-section (no .apus-cta-wrapper)
- Eliminar atributo data-cta-action (innecesario)
2. single.php:
- ELIMINAR 29 líneas de HTML duplicado (variantes A y B hardcodeadas)
- REEMPLAZAR con: <?php apus_display_cta(); ?>
3. main.js:
- ELIMINAR 26 líneas de lógica A/B en JavaScript
- AGREGAR comentario: CTA manejado por PHP + cta-tracking.js
4. cta-tracking.js:
- Actualizar selectores: .apus-cta-wrapper → .cta-section (2 ocurrencias)
ARQUITECTURA FINAL:
- PHP: Selección de variante + renderizado server-side
- cta-tracking.js: Solo tracking de Analytics (clicks/impresiones)
- Cookies: Persistencia de variante asignada
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -101,7 +101,7 @@
|
||||
* Solo registra cuando el CTA es visible al menos el 50%
|
||||
*/
|
||||
function setupImpressionTracking() {
|
||||
const ctaElement = document.querySelector('.apus-cta-wrapper');
|
||||
const ctaElement = document.querySelector('.cta-section');
|
||||
|
||||
if (!ctaElement) {
|
||||
debugLog('CTA no encontrado en el DOM');
|
||||
@@ -216,7 +216,7 @@
|
||||
* Agregar clase de animación al CTA (opcional)
|
||||
*/
|
||||
function animateCTA() {
|
||||
const ctaElement = document.querySelector('.apus-cta-wrapper');
|
||||
const ctaElement = document.querySelector('.cta-section');
|
||||
if (ctaElement) {
|
||||
ctaElement.classList.add('fade-in-up');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user