/** * Loads parent theme's style first and then child theme's style.css so you can override parent styles */ function scalo_child_theme_enqueue_styles() { global $wp_styles; $parent_style = 'scalo_child_theme_parent_style'; $parent_base_dir = 'scalo'; $child_dir_id = basename(get_stylesheet_directory()); // WP enqueues the child style automatically. We want to dequeue it so we can load parent first and child theme's css later // We'll also append the last modified times for versions and for better cache clean up. if ( ! empty( $wp_styles->queue ) ) { $srch_arr = [ $parent_base_dir, $parent_base_dir . '-style', $parent_base_dir . '_style', $child_dir_id, $child_dir_id . '-style', $child_dir_id . '_style', ]; foreach ( $wp_styles->queue as $registered_style_id ) { if ( in_array( $registered_style_id, $srch_arr ) ) { wp_dequeue_style( $registered_style_id ); wp_deregister_style( $registered_style_id ); } } } // We use last modified as version as it's a reliable way to tell when the file was modified so // the browser can load the new file if necessary and not use the cached version. $parent_ver = time(); $parent_style_css_file = get_template_directory() . '/style.css'; if (file_exists($parent_style_css_file)) { $parent_ver = filemtime($parent_style_css_file); } else { $v = wp_get_theme( $parent_base_dir )->get('Version'); if (!empty($v)) { $parent_ver = $v; } } wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css', array(), $parent_ver ); wp_enqueue_style( $parent_style . '_child_style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), filemtime(get_stylesheet_directory() . '/style.css') ); } add_action( 'wp_enqueue_scripts', 'scalo_child_theme_enqueue_styles', 25 ); // ==================================================================== // START: INTEGRACIÓN APP REACT (Diseño Salaris V2) // ==================================================================== function salaris2026_enqueue_assets() { // Cargar en página template Y en blog $is_blog = is_home() || is_archive() || is_single() || is_search() || is_category() || is_tag(); $is_page_template = is_page_template('page-2026.php'); if ( $is_page_template || $is_blog ) { // CSS generado por Vite (ACTUALIZADO - Enero 2026) wp_enqueue_style( 'salaris2026-css', get_stylesheet_directory_uri() . '/salaris2026/assets/salaris-style-Dz7N5y4J.css', array(), '20260116' // Fecha del último build ); // JS Principal generado por Vite (ACTUALIZADO - Enero 2026) wp_enqueue_script( 'salaris2026-js-app', get_stylesheet_directory_uri() . '/salaris2026/assets/salaris-app-BbwGtw7g.js', array(), '20260116', true ); // Marcar como módulo ES6 add_filter('script_loader_tag', 'salaris2026_add_type_module', 10, 3); // JS Chunks generados por Vite (ACTUALIZADO - Enero 2026) wp_enqueue_script( 'salaris2026-js-chunk1', get_stylesheet_directory_uri() . '/salaris2026/assets/salaris-chunk-DBICnSt7.js', array('salaris2026-js-app'), '20260116', true ); wp_enqueue_script( 'salaris2026-js-chunk2', get_stylesheet_directory_uri() . '/salaris2026/assets/salaris-chunk-OvXVS5lI.js', array('salaris2026-js-app'), '20260116', true ); } } add_action('wp_enqueue_scripts', 'salaris2026_enqueue_assets'); /** * Agregar type="module" a los scripts de Vite/React */ function salaris2026_add_type_module($tag, $handle, $src) { // Lista de scripts que necesitan type="module" $module_scripts = array( 'salaris2026-js-app', 'salaris2026-js-chunk1', 'salaris2026-js-chunk2' ); if (in_array($handle, $module_scripts)) { $tag = str_replace('