Why this matters
The production reason.
A script needed on one landing page should not slow down the entire site.
Conditionally enqueue assets by page template, block presence, shortcode, or route.
This keeps Core Web Vitals healthier and reduces conflicts between unrelated scripts.
add_action( 'wp_enqueue_scripts', function () {
if ( is_page_template( 'templates/calculator.php' ) ) {
wp_enqueue_script(
'calculator',
get_theme_file_uri( 'assets/calculator.js' ),
[],
'1.0',
true
);
}
});