Commit Graph

8 Commits

Author SHA1 Message Date
FrankZamora
a6578f4973 fix: eliminar submenú duplicado Apus Theme
- Agregar remove_submenu_page() para eliminar entrada duplicada
- WordPress crea automáticamente primer submenú con nombre del padre
- Ahora solo aparece submenú 'Theme Options'
2025-11-13 23:20:15 -06:00
FrankZamora
77dd809e8c fix: corregir estructura de menú para mostrar submenú Theme Options
- Cambiar menu slug principal a 'apus-theme-menu' (contenedor)
- Menú principal sin callback (solo contenedor del submenú)
- Submenú 'Theme Options' con slug 'apus-theme-settings' (página real)
- Actualizar hook en enqueue_assets a 'apus-theme_page_apus-theme-settings'
- Limpiar logs de debug

Ahora el menú 'Apus Theme' muestra correctamente el submenú desplegable con 'Theme Options'
2025-11-13 23:18:00 -06:00
FrankZamora
9e29410c0d fix: corregir hook name para menú de nivel superior
- Cambiar de 'appearance_page_apus-theme-settings' a 'toplevel_page_apus-theme-settings'
- Necesario para que assets se carguen correctamente en menú de nivel superior
- Sin esto, el CSS/JS no se cargaba en la página de configuración
2025-11-13 23:01:46 -06:00
FrankZamora
3947e36c98 feat: mover menú Apus Theme a nivel superior en sidebar de WordPress
- Cambiar de add_theme_page() a add_menu_page()
- Posición 61 (después de Appearance, antes de Plugins)
- Ícono dashicons-admin-generic
- Menú ahora aparece al mismo nivel que Dashboard, Settings, etc.
- NO dentro del menú Apariencia

Completa PASO 2.0 del PLAN-PREPARACION-TEMA-BD.md
2025-11-13 22:57:54 -06:00
FrankZamora
03c97d31d3 feat: mejorar DB Manager para soportar ambas tablas (components y defaults)
- Agregar constante TABLE_DEFAULTS para tabla de valores por defecto
- Modificar get_table_name() para aceptar parámetro table_type
- Actualizar create_tables() para crear ambas tablas con estructura idéntica
- Modificar todos los métodos (get_config, save_config, delete_config, list_components) para aceptar table_type
- Actualizar Settings Manager get_defaults() para leer desde tabla defaults usando DB Manager
- Mantener compatibilidad hacia atrás con valor por defecto 'components'

Arquitectura final:
- wp_apus_theme_components_defaults = Valores por defecto del tema (escritura algoritmo)
- wp_apus_theme_components = Personalizaciones del usuario (escritura admin panel)
- Una sola clase (APUS_DB_Manager) maneja ambas tablas con misma estructura
2025-11-13 22:57:04 -06:00
FrankZamora
3ad2413e7a feat(db): crear tabla wp_apus_theme_components_defaults
- Tabla para almacenar valores por defecto de componentes
- Estructura con 8 columnas: id, component_name, config_key, config_value,
  data_type, version, created_at, updated_at
- Índices optimizados para búsquedas rápidas
- UNIQUE constraint en (component_name, config_key) para evitar duplicados
- Tabla ejecutada y verificada en base de datos preciosunitarios_wp

Esta tabla será la ÚNICA fuente de verdad para defaults de componentes.
El algoritmo consultará esta tabla en lugar de tener defaults hardcodeados.

Ref: PROBLEMA-DEFAULTS-HARDCODEADOS-ALGORITMO.md (Líneas 418-437)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 22:16:44 -06:00
FrankZamora
4818d90386 FASE 1 COMPLETADA: Limpieza de defaults hardcodeados
Eliminados todos los componentes incorrectos y defaults duplicados
preparando el sistema para la implementación correcta con tabla de BD.

ARCHIVOS ELIMINADOS (11 archivos):
- admin/assets/js/component-navbar.js
- admin/assets/css/component-navbar.css
- admin/components/component-top-bar.php
- admin/components/component-navbar.php
- admin/components/component-hero-section.php
- admin/components/component-lets-talk-button.php
- admin/includes/sanitizers/class-topbar-sanitizer.php
- admin/includes/sanitizers/class-navbar-sanitizer.php
- admin/includes/sanitizers/class-herosection-sanitizer.php
- admin/includes/sanitizers/class-letstalkbutton-sanitizer.php
- template-parts/navbar-configurable.php

ARCHIVOS MODIFICADOS (6 archivos):
- admin/includes/class-admin-menu.php: Eliminados enqueues de componentes
- admin/includes/class-settings-manager.php: Limpiados get_defaults() y sanitize_settings()
- admin/includes/class-validator.php: Eliminado validate_top_bar()
- admin/pages/main.php: Reducido de 521 a 37 líneas (93%)
- admin/assets/js/admin-app.js: Reducido de 431 a 219 líneas (49%)
- header.php: Eliminado código de Top Bar (92 líneas)

BASE DE DATOS:
- Eliminada opción 'apus_theme_settings' de wp_options

RESUMEN:
- 11 archivos eliminados
- 6 archivos limpiados
- 1 opción de BD eliminada
- Todos los defaults hardcodeados eliminados
- Sistema preparado para FASE 2 (crear tabla de defaults)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 22:13:23 -06:00
FrankZamora
0038ad502c backup: estado antes de limpieza de defaults 2025-11-13 21:51:06 -06:00