How do I add a simple jQuery script to WordPress? How do I add a simple jQuery script to WordPress? wordpress wordpress

How do I add a simple jQuery script to WordPress?


I know what you mean about the tutorials. Here's how I do it:

First you need to write your script. In your theme folder create a folder called something like 'js'. Create a file in that folder for your javascript. E.g. your-script.js. Add your jQuery script to that file (you don't need <script> tags in a .js file).

Here is an example of how your jQuery script (in wp-content/themes/your-theme/js/your-scrript.js) might look:

jQuery(document).ready(function($) {  $('#nav a').last().addClass('last');})

Notice that I use jQuery and not $ at the start of the function.

Ok, now open your theme's functions.php file. You'll want to use the wp_enqueue_script() function so that you can add your script whilst also telling WordPress that it relies on jQuery. Here's how to do that:

add_action( 'wp_enqueue_scripts', 'add_my_script' );function add_my_script() {    wp_enqueue_script(        'your-script', // name your script so that you can attach other scripts and de-register, etc.        get_template_directory_uri() . '/js/your-script.js', // this is the location of your script file        array('jquery') // this array lists the scripts upon which your script depends    );}

Assuming that your theme has wp_head and wp_footer in the right places, this should work. Let me know if you need any more help.

WordPress questions can be asked over at WordPress Answers.


After much searching, I finally found something that works with the latest WordPress. Here are the steps to follow:

  1. Find your theme's directory, create a folder in the directory for your custom js (custom_js in this example).
  2. Put your custom jQuery in a .js file in this directory (jquery_test.js in this example).
  3. Make sure your custom jQuery .js looks like this:

    (function($) {$(document).ready(function() {$('.your-class').addClass('do-my-bidding');})})(jQuery);
  4. Go to the theme's directory, open up functions.php

  5. Add some code near the top that looks like this:

    //this goes in functions.php near the topfunction my_scripts_method() {// register your script location, dependencies and version   wp_register_script('custom_script',   get_template_directory_uri() . '/custom_js/jquery_test.js',   array('jquery'),   '1.0' ); // enqueue the script  wp_enqueue_script('custom_script');  }add_action('wp_enqueue_scripts', 'my_scripts_method');
  6. Check out your site to make sure it works!


If you use wordpress child theme for add scripts to your theme, you should change the get_template_directory_uri function to get_stylesheet_directory_uri, for example :

Parent Theme :

add_action( 'wp_enqueue_scripts', 'add_my_script' );function add_my_script() {    wp_register_script(        'parent-theme-script',         get_template_directory_uri() . '/js/your-script.js',         array('jquery')     );    wp_enqueue_script('parent-theme-script');}

Child Theme :

add_action( 'wp_enqueue_scripts', 'add_my_script' );function add_my_script() {    wp_register_script(       'child-theme-script',        get_stylesheet_directory_uri() . '/js/your-script.js',        array('jquery')     );    wp_enqueue_script('child-theme-script');}

get_template_directory_uri : /your-site/wp-content/themes/parent-theme

get_stylesheet_directory_uri : /your-site/wp-content/themes/child-theme