Files
roi-theme/wp-content/themes/apus-theme/inc/enqueue-scripts.php
FrankZamora fd4998e221 Incrementar versión CSS a 1.0.3 - bypass browser cache
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>
2025-11-06 20:28:39 -06:00

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);