Files
2026-05-01 15:36:42 -04:00

50 lines
1.6 KiB
PHP

<?php
add_action( 'wp_enqueue_scripts', 'cascapedia_st_jules_enqueue_assets' );
function cascapedia_st_jules_enqueue_assets(): void {
$manifest_path = get_theme_file_path( 'assets/dist/.vite/manifest.json' );
if ( ! file_exists( $manifest_path ) ) {
return;
}
$manifest = json_decode( file_get_contents( $manifest_path ), true );
$entry = $manifest['assets/src/main.tsx'] ?? null;
if ( ! is_array( $entry ) ) {
return;
}
if ( ! empty( $entry['css'] ) && is_array( $entry['css'] ) ) {
foreach ( $entry['css'] as $index => $css_file ) {
$css_path = get_theme_file_path( 'assets/dist/' . $css_file );
wp_enqueue_style(
'cascapedia-st-jules-' . $index,
get_theme_file_uri( 'assets/dist/' . $css_file ),
[],
file_exists( $css_path ) ? (string) filemtime( $css_path ) : wp_get_theme()->get( 'Version' )
);
}
}
if ( ! empty( $entry['file'] ) ) {
$js_path = get_theme_file_path( 'assets/dist/' . $entry['file'] );
wp_enqueue_script(
'cascapedia-st-jules-app',
get_theme_file_uri( 'assets/dist/' . $entry['file'] ),
[],
file_exists( $js_path ) ? (string) filemtime( $js_path ) : wp_get_theme()->get( 'Version' ),
true
);
$page_data = cascapedia_st_jules_current_page_data();
$site_data = cascapedia_st_jules_site_data();
wp_add_inline_script(
'cascapedia-st-jules-app',
'window.__CASCA_PAGE__ = ' . wp_json_encode( $page_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . ';' . "\n" .
'window.__CASCA_SITE__ = ' . wp_json_encode( $site_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . ';',
'before'
);
}
}