// Enqueue theme assets with versioning and localization function mdsl_enqueue_assets() { // Main stylesheet with filemtime version $style_file = get_template_directory() . '/style.css'; $style_ver = file_exists($style_file) ? filemtime($style_file) : null; wp_enqueue_style( 'mdsl-style', get_stylesheet_uri(), array(), $style_ver ); // Main script (depends on jQuery) $main_js_rel = '/assets/js/mdsl-main.js'; $main_js_file = get_template_directory() . $main_js_rel; $main_js_url = get_template_directory_uri() . $main_js_rel; if ( file_exists( $main_js_file ) ) { $main_js_ver = filemtime( $main_js_file ); wp_enqueue_script( 'mdsl-main', $main_js_url, array( 'jquery' ), $main_js_ver, true ); wp_localize_script( 'mdsl-main', 'mdsl_ajax', array( 'ajax_url' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('mdsl_nonce'), )); } } add_action( 'wp_enqueue_scripts', 'mdsl_enqueue_assets' ); // Defer main script function mdsl_defer_scripts( $tag, $handle, $src ) { if ( 'mdsl-main' === $handle ) { return ''; } return $tag; } add_filter( 'script_loader_tag', 'mdsl_defer_scripts', 10, 3 ); // Ensure TOC filter is hooked add_filter('the_content', 'mdsl_add_table_of_contents');