Servidor confirmado sirviendo CSS correcto con !important. Perfmatters MU plugin desactivado. Todos los caches limpiados. CSS descargado directamente del servidor tiene !important correcto. El problema es browser cache del usuario final. Incrementando versión a 1.0.3 para forzar descarga. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
520 lines
13 KiB
PHP
520 lines
13 KiB
PHP
<?php
|
|
/**
|
|
* Enqueue Bootstrap 5 and Custom Scripts
|
|
*
|
|
* @package Apus_Theme
|
|
* @since 1.0.0
|
|
*/
|
|
|
|
// Exit if accessed directly
|
|
if (!defined('ABSPATH')) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* Enqueue typography system
|
|
*/
|
|
function apus_enqueue_fonts() {
|
|
wp_enqueue_style(
|
|
'apus-fonts',
|
|
get_template_directory_uri() . '/assets/css/fonts.css',
|
|
array(),
|
|
'1.0.0',
|
|
'all'
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_fonts', 1);
|
|
|
|
/**
|
|
* Enqueue Bootstrap 5 styles and scripts
|
|
*/
|
|
function apus_enqueue_bootstrap() {
|
|
// Bootstrap CSS - with high priority
|
|
wp_enqueue_style(
|
|
'apus-bootstrap',
|
|
get_template_directory_uri() . '/assets/vendor/bootstrap/css/bootstrap.min.css',
|
|
array('apus-fonts'),
|
|
'5.3.2',
|
|
'all'
|
|
);
|
|
|
|
// Bootstrap Icons CSS - from CDN
|
|
wp_enqueue_style(
|
|
'bootstrap-icons',
|
|
'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css',
|
|
array(),
|
|
'1.11.3',
|
|
'all'
|
|
);
|
|
|
|
// Variables CSS del Template RDash (NIVEL 1 - BLOQUEANTE - Issue #48)
|
|
wp_enqueue_style(
|
|
'apus-variables',
|
|
get_template_directory_uri() . '/assets/css/variables.css',
|
|
array('apus-bootstrap'),
|
|
APUS_VERSION,
|
|
'all'
|
|
);
|
|
|
|
// Bootstrap JS Bundle - in footer with defer
|
|
wp_enqueue_script(
|
|
'apus-bootstrap-js',
|
|
get_template_directory_uri() . '/assets/vendor/bootstrap/js/bootstrap.bundle.min.js',
|
|
array(),
|
|
'5.3.2',
|
|
array(
|
|
'in_footer' => true,
|
|
'strategy' => 'defer',
|
|
)
|
|
);
|
|
|
|
// Dequeue jQuery if it was enqueued
|
|
wp_dequeue_script('jquery');
|
|
wp_deregister_script('jquery');
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_bootstrap', 5);
|
|
|
|
/**
|
|
* Enqueue main theme stylesheet
|
|
* FASE 1 - Este es el archivo CSS principal del tema
|
|
*/
|
|
function apus_enqueue_main_stylesheet() {
|
|
wp_enqueue_style(
|
|
'apus-main-style',
|
|
get_template_directory_uri() . '/assets/css/style.css',
|
|
array('apus-variables'),
|
|
'1.0.3', // Incremented again to bypass browser cache
|
|
'all'
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_main_stylesheet', 5);
|
|
|
|
/**
|
|
* Enqueue FASE 2 CSS - Template RDash Component Styles (Issues #58-64)
|
|
*
|
|
* Estilos que replican componentes del template RDash
|
|
*/
|
|
function apus_enqueue_fase2_styles() {
|
|
// Hero Section CSS - Gradiente azul (Issue #59)
|
|
wp_enqueue_style(
|
|
'apus-hero',
|
|
get_template_directory_uri() . '/assets/css/hero.css',
|
|
array('apus-bootstrap'),
|
|
filemtime(get_template_directory() . '/assets/css/hero.css'),
|
|
'all'
|
|
);
|
|
|
|
// Category Badges CSS - Clase genérica (Issue #62)
|
|
wp_enqueue_style(
|
|
'apus-badges',
|
|
get_template_directory_uri() . '/assets/css/badges.css',
|
|
array('apus-bootstrap'),
|
|
filemtime(get_template_directory() . '/assets/css/badges.css'),
|
|
'all'
|
|
);
|
|
|
|
// Pagination CSS - Estilos personalizados (Issue #64)
|
|
wp_enqueue_style(
|
|
'apus-pagination',
|
|
get_template_directory_uri() . '/assets/css/pagination.css',
|
|
array('apus-bootstrap'),
|
|
filemtime(get_template_directory() . '/assets/css/pagination.css'),
|
|
'all'
|
|
);
|
|
|
|
// Post Content Typography - Solo en posts individuales (Issue #63)
|
|
if (is_single()) {
|
|
wp_enqueue_style(
|
|
'apus-post-content',
|
|
get_template_directory_uri() . '/assets/css/post-content.css',
|
|
array('apus-bootstrap'),
|
|
filemtime(get_template_directory() . '/assets/css/post-content.css'),
|
|
'all'
|
|
);
|
|
|
|
// Related Posts CSS - Background gris (Issue #60)
|
|
wp_enqueue_style(
|
|
'apus-related-posts',
|
|
get_template_directory_uri() . '/assets/css/related-posts.css',
|
|
array('apus-bootstrap'),
|
|
filemtime(get_template_directory() . '/assets/css/related-posts.css'),
|
|
'all'
|
|
);
|
|
}
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_fase2_styles', 6);
|
|
|
|
/**
|
|
* Enqueue header styles and scripts
|
|
*/
|
|
function apus_enqueue_header() {
|
|
// Header CSS
|
|
wp_enqueue_style(
|
|
'apus-header',
|
|
get_template_directory_uri() . '/assets/css/header.css',
|
|
array('apus-fonts'),
|
|
'1.0.0',
|
|
'all'
|
|
);
|
|
|
|
// Header JS - with defer strategy
|
|
wp_enqueue_script(
|
|
'apus-header-js',
|
|
get_template_directory_uri() . '/assets/js/header.js',
|
|
array(),
|
|
'1.0.0',
|
|
array(
|
|
'in_footer' => true,
|
|
'strategy' => 'defer',
|
|
)
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_header', 10);
|
|
|
|
/**
|
|
* Enqueue custom styles and main JavaScript
|
|
*/
|
|
function apus_enqueue_custom_assets() {
|
|
// Custom Styles - navbar animations and theme components
|
|
wp_enqueue_style(
|
|
'apus-custom-style',
|
|
get_template_directory_uri() . '/assets/css/custom-style.css',
|
|
array('apus-bootstrap'),
|
|
'1.0.0',
|
|
'all'
|
|
);
|
|
|
|
// Main JavaScript - navbar scroll effects and interactions
|
|
wp_enqueue_script(
|
|
'apus-main-js',
|
|
get_template_directory_uri() . '/assets/js/main.js',
|
|
array('apus-bootstrap-js'),
|
|
'1.0.0',
|
|
array(
|
|
'in_footer' => true,
|
|
'strategy' => 'defer',
|
|
)
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_custom_assets', 11);
|
|
|
|
/**
|
|
* Enqueue footer styles
|
|
*/
|
|
function apus_enqueue_footer_styles() {
|
|
wp_enqueue_style(
|
|
'apus-footer',
|
|
get_template_directory_uri() . '/assets/css/footer.css',
|
|
array('apus-bootstrap'),
|
|
APUS_VERSION,
|
|
'all'
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_footer_styles', 12);
|
|
|
|
/**
|
|
* Enqueue accessibility styles and scripts
|
|
*/
|
|
function apus_enqueue_accessibility() {
|
|
// Accessibility CSS
|
|
wp_enqueue_style(
|
|
'apus-accessibility',
|
|
get_template_directory_uri() . '/assets/css/accessibility.css',
|
|
array('apus-theme-style'),
|
|
APUS_VERSION,
|
|
'all'
|
|
);
|
|
|
|
// Accessibility JavaScript
|
|
wp_enqueue_script(
|
|
'apus-accessibility-js',
|
|
get_template_directory_uri() . '/assets/js/accessibility.js',
|
|
array('apus-bootstrap-js'),
|
|
APUS_VERSION,
|
|
array(
|
|
'in_footer' => true,
|
|
'strategy' => 'defer',
|
|
)
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_accessibility', 15);
|
|
|
|
/**
|
|
* Enqueue del script de carga retrasada de AdSense
|
|
*
|
|
* Este script se encarga de detectar la primera interacción del usuario
|
|
* (scroll, click, touch, etc.) y cargar los scripts de AdSense solo
|
|
* en ese momento, mejorando significativamente el rendimiento inicial.
|
|
*/
|
|
function apus_enqueue_adsense_loader() {
|
|
// Solo ejecutar en frontend
|
|
if (is_admin()) {
|
|
return;
|
|
}
|
|
|
|
// Verificar si el retardo de AdSense está habilitado
|
|
$delay_enabled = apus_get_option('apus_adsense_delay_enabled', '1');
|
|
|
|
if ($delay_enabled !== '1') {
|
|
return;
|
|
}
|
|
|
|
// Enqueue del script de carga de AdSense
|
|
wp_enqueue_script(
|
|
'apus-adsense-loader',
|
|
get_template_directory_uri() . '/assets/js/adsense-loader.js',
|
|
array(),
|
|
APUS_VERSION,
|
|
array(
|
|
'in_footer' => true,
|
|
'strategy' => 'defer',
|
|
)
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_adsense_loader', 10);
|
|
|
|
/**
|
|
* Enqueue Table of Contents styles and scripts
|
|
*/
|
|
function apus_enqueue_toc_assets() {
|
|
// Only enqueue on single posts
|
|
if (!is_single()) {
|
|
return;
|
|
}
|
|
|
|
// TOC CSS
|
|
wp_enqueue_style(
|
|
'apus-toc-style',
|
|
get_template_directory_uri() . '/assets/css/toc.css',
|
|
array('apus-bootstrap'),
|
|
filemtime(get_template_directory() . '/assets/css/toc.css'),
|
|
'all'
|
|
);
|
|
|
|
// TOC JS
|
|
wp_enqueue_script(
|
|
'apus-toc-script',
|
|
get_template_directory_uri() . '/assets/js/toc.js',
|
|
array(),
|
|
APUS_VERSION,
|
|
array(
|
|
'in_footer' => true,
|
|
'strategy' => 'defer',
|
|
)
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_toc_assets', 10);
|
|
|
|
/**
|
|
* Enqueue theme core styles
|
|
*/
|
|
function apus_enqueue_theme_styles() {
|
|
// Theme Core Styles
|
|
wp_enqueue_style(
|
|
'apus-theme',
|
|
get_template_directory_uri() . '/assets/css/theme.css',
|
|
array('apus-bootstrap'),
|
|
'1.0.0',
|
|
'all'
|
|
);
|
|
|
|
// Theme Animations
|
|
wp_enqueue_style(
|
|
'apus-animations',
|
|
get_template_directory_uri() . '/assets/css/animations.css',
|
|
array('apus-theme'),
|
|
'1.0.0',
|
|
'all'
|
|
);
|
|
|
|
// Theme Responsive Styles
|
|
wp_enqueue_style(
|
|
'apus-responsive',
|
|
get_template_directory_uri() . '/assets/css/responsive.css',
|
|
array('apus-theme'),
|
|
'1.0.0',
|
|
'all'
|
|
);
|
|
|
|
// Theme Utilities
|
|
wp_enqueue_style(
|
|
'apus-utilities',
|
|
get_template_directory_uri() . '/assets/css/utilities.css',
|
|
array('apus-theme'),
|
|
'1.0.0',
|
|
'all'
|
|
);
|
|
|
|
// Print Styles
|
|
wp_enqueue_style(
|
|
'apus-print',
|
|
get_template_directory_uri() . '/assets/css/print.css',
|
|
array(),
|
|
'1.0.0',
|
|
'print'
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_theme_styles', 13);
|
|
|
|
/**
|
|
* Enqueue social share styles
|
|
*/
|
|
function apus_enqueue_social_share_styles() {
|
|
// Only enqueue on single posts
|
|
if (!is_single()) {
|
|
return;
|
|
}
|
|
|
|
// Social Share CSS
|
|
wp_enqueue_style(
|
|
'apus-social-share',
|
|
get_template_directory_uri() . '/assets/css/social-share.css',
|
|
array('apus-bootstrap'),
|
|
APUS_VERSION,
|
|
'all'
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_social_share_styles', 14);
|
|
|
|
/**
|
|
* Enqueue APU Tables styles
|
|
*/
|
|
function apus_enqueue_apu_tables_styles() {
|
|
// APU Tables CSS
|
|
wp_enqueue_style(
|
|
'apus-tables-apu',
|
|
get_template_directory_uri() . '/assets/css/tables-apu.css',
|
|
array('apus-bootstrap'),
|
|
APUS_VERSION,
|
|
'all'
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_apu_tables_styles', 15);
|
|
|
|
/**
|
|
* Enqueue CTA A/B Testing styles and scripts
|
|
*/
|
|
function apus_enqueue_cta_assets() {
|
|
// Solo enqueue en posts individuales
|
|
if (!is_single()) {
|
|
return;
|
|
}
|
|
|
|
// Verificar si el CTA está habilitado
|
|
$enable_cta = get_theme_mod('apus_enable_cta', true);
|
|
if (!$enable_cta) {
|
|
return;
|
|
}
|
|
|
|
// CTA CSS
|
|
wp_enqueue_style(
|
|
'apus-cta-style',
|
|
get_template_directory_uri() . '/assets/css/cta.css',
|
|
array('apus-bootstrap'),
|
|
APUS_VERSION,
|
|
'all'
|
|
);
|
|
|
|
// CTA Tracking JS
|
|
wp_enqueue_script(
|
|
'apus-cta-tracking',
|
|
get_template_directory_uri() . '/assets/js/cta-tracking.js',
|
|
array(),
|
|
APUS_VERSION,
|
|
array(
|
|
'in_footer' => true,
|
|
'strategy' => 'defer',
|
|
)
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_cta_assets', 16);
|
|
|
|
/**
|
|
* Enqueue CTA Box Sidebar styles (Issue #36)
|
|
*/
|
|
function apus_enqueue_cta_box_sidebar_assets() {
|
|
// Solo enqueue en posts individuales
|
|
if (!is_single()) {
|
|
return;
|
|
}
|
|
|
|
// CTA Box Sidebar CSS
|
|
wp_enqueue_style(
|
|
'apus-cta-box-sidebar',
|
|
get_template_directory_uri() . '/assets/css/cta-box-sidebar.css',
|
|
array('apus-bootstrap'),
|
|
filemtime(get_template_directory() . '/assets/css/cta-box-sidebar.css'),
|
|
'all'
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_cta_box_sidebar_assets', 17);
|
|
|
|
/**
|
|
* Enqueue Footer Contact Form styles and scripts (Issue #37)
|
|
*/
|
|
function apus_enqueue_footer_contact_assets() {
|
|
// Solo enqueue si el widget está activo
|
|
if (!is_active_sidebar('footer-contact')) {
|
|
return;
|
|
}
|
|
|
|
// Footer Contact CSS
|
|
wp_enqueue_style(
|
|
'apus-footer-contact',
|
|
get_template_directory_uri() . '/assets/css/footer-contact.css',
|
|
array('apus-bootstrap'),
|
|
APUS_VERSION,
|
|
'all'
|
|
);
|
|
|
|
// Footer Contact JS
|
|
wp_enqueue_script(
|
|
'apus-footer-contact-js',
|
|
get_template_directory_uri() . '/assets/js/footer-contact.js',
|
|
array(),
|
|
APUS_VERSION,
|
|
array(
|
|
'in_footer' => true,
|
|
'strategy' => 'defer',
|
|
)
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_footer_contact_assets', 19);
|
|
|
|
/**
|
|
* Enqueue Hero Section styles (Issue #40)
|
|
*/
|
|
function apus_enqueue_hero_section_styles() {
|
|
// Solo enqueue en posts individuales
|
|
if (!is_single()) {
|
|
return;
|
|
}
|
|
|
|
// Hero Section CSS
|
|
wp_enqueue_style(
|
|
'apus-hero-section',
|
|
get_template_directory_uri() . '/assets/css/hero-section.css',
|
|
array('apus-bootstrap'),
|
|
APUS_VERSION,
|
|
'all'
|
|
);
|
|
}
|
|
|
|
add_action('wp_enqueue_scripts', 'apus_enqueue_hero_section_styles', 20);
|