Learn to Add jQuery Scripts to Your WordPress Site
Directly hardcoding script tags into your WordPress theme header can break core functionality. Here is the standardized, conflict-free method to register and enqueue jQuery scripts.
Why Hardcoding Scripts in header.php is Risky
Beginner developers often paste <script> tags directly into their theme's header.php file. This bypasses WordPress's native dependency management system, leading to duplicate library loading, version clashes, and broken plugins.
The Standard wp_enqueue_script Workflow
WordPress includes a built-in function specifically engineered for registering and enqueuing JavaScript assets in your theme's functions.php file:
function medialinkers_custom_scripts() {
wp_enqueue_script(
'custom-script',
get_template_directory_uri() . '/assets/js/custom.js',
array('jquery'),
'1.0.0',
true // Load in footer for performance
);
}
add_action('wp_enqueue_scripts', 'medialinkers_custom_scripts');
Handling jQuery noConflict Mode
WordPress loads jQuery in noConflict() mode to prevent conflicts with other libraries like Prototype or MooTools. This means the standard shortcut $ is not globally bound. Wrap your custom scripts in an anonymous self-executing closure:
jQuery(document).ready(function($) {
// $ is safely aliased to jQuery here
$('.my-button').on('click', function() {
console.log('Clicked smoothly!');
});
});
Performance Best Practices
Always pass true as the final parameter in wp_enqueue_script() to output scripts in the document footer, preventing render-blocking delays during initial page paint.







