🎉 AgentWP is now in Public Beta Testing.

close
By: Christy Cañete
Published: September 10, 2024

How to Add JavaScript to WordPress [4 Easy Methods + Tips]

There are several ways to add custom JavaScript to WordPress without breaking your website. In this beginner-friendly guide, we’ll share easy-to-follow methods as well as practical tips to keep your website fast and efficient.
share

Table of Contents

JavaScript is a powerful tool for enhancing your WordPress website. 

It brings your pages to life with eye-catching animations and dynamic content updates. It improves user experience and adds features beyond WordPress’s built-in capabilities. 

But WordPress is primarily built on PHP. Those new to the platform might find adding custom JavaScript code a bit confusing.

There are several methods for integrating JavaScript into your WordPress site. We’ll explain each in the simplest way possible. 

By the end of this guide, you’ll find the method that works best for you!

Before You Do Anything…

Before making any changes to your WordPress website, especially when adding custom codes, it's important to take a few precautions to avoid breaking anything. That way, if something goes wrong, you can easily undo them if needed.

1. First, back up your website. A complete backup includes your database, WordPress theme files, plugins, and media uploads. Many hosting providers offer a simple one-click backup option. If yours doesn't, use plugins like UpdraftPlus or BlogVault to handle this task for you.

2. Create a child theme. This is a must! A child theme keeps your changes safe from being overwritten during theme updates. Just create a new theme folder and add a style.css and functions.php file to define it.

3. Consider using a staging site. This is a replica of your live website that allows you to test changes without affecting your live website. Many hosts, like WP Engine and Flywheel, offer built-in staging features. You can also try a separate service like InstaWP.

4 Easy Ways to Add JavaScript to WordPress

There are a few ways to custom JavaScript to WordPress. Some methods are as easy as using a plugin, while others involve working with core files. Don’t worry, we’ll guide you through each option.

Method 1: Add with a Plugin

Using a plugin is the easiest way to add custom JavaScript without messing with theme files. It's great for beginners since it keeps your website's code clean and safe from accidental errors. 

In this guide, we'll show you how to use WPCode, a popular option for adding custom code. 

Here’s how to do it:

1) Install the WPCode Plugin

Log in to your WordPress dashboard. Go to the “Plugins” section and click on “Add New.” In the search bar, type WPCode and once it appears, click the “Install Now” button. Then, click “Activate.”

install WPCode plugin

2) Create a New Snippet

You should now see a new “Code Snippets” section in the WordPress dashboard. Click on it and then select “Add New.” 

add new code snippet to WordPress

Choose a type of snippet. For our example, let’s pick “Add Your Custom Code.” 

WPCode add custom code

Give your snippet a name, then select “JavaScript Snippet” from the list of options.

WPCode choose custom type

3) Add Your JavaScript Code

On the blank editor, paste or write the JavaScript code you want to add. Feel free to experiment - edit or refine your code as needed.

add JavaScript code to WordPress

4) Decide Where to Insert the Script

Just below the code editor, you'll find an "Insertion" section. This is where you tell WordPress where you want to run your JavaScript. For this example, let's go with "Site Wide Header" under "Location."

select JavaScript code location on WordPress

5) Save and Activate the Snippet

After adding your code, click "Save Snippet" and then "Activate." Your JavaScript will now be live on your WordPress site. 

save code snippet

Like most code snippet plugins, WPCode also makes it easy to manage, edit, or disable snippets whenever you need.

Method 2: Edit functions.php

Want to add custom JavaScript directly into your WordPress theme? Then modifying the functions.php file is a reliable approach. This time, you don’t need to install any plugins.

However, be careful! Any updates to your theme might reset your changes unless you're working with a child theme.

1) Create a JavaScript File

First, you’ll need to create a JavaScript file. 

Open your favorite text editor, create a new file, and assign any name you want (for example, custom-script.js). Inside this file, add your JavaScript code.

Let’s say we want to display a pop-up message when the user opens your website. Here’s the code we’ll use:

alert("Welcome to our website!");

Now, save your file in a folder called js within your theme directory (you can create one if you don’t have it). 

The full path should be:

wp-content/themes/your-theme/js/custom-script.js

Note: You can get to your theme directory through FTP (like FileZilla), cPanel's File Manager, or local tools like Local by Flywheel, MAMP, or WAMP (if you're working on a local environment).

2) Open the functions.php File

Next, look for the functions.php file within your theme’s folder. You can use FTP, cPanel, or even the WordPress dashboard (go to Appearance > Theme File Editor).

3) Enqueue the Script Using wp_enqueue_script

To properly load the JavaScript file, we’ll use WordPress's wp_enqueue_script function. 

Add this code to your functions.php file:

function my_custom_script() {
    wp_enqueue_script( 'custom-js', get_template_directory_uri() . '/js/custom-script.js', array(), null, true );
}
add_action( 'wp_enqueue_scripts', 'my_custom_script' );

Here’s how the code above works:

  • 'custom-js': This helps WordPress keep track of your script.
  • get_template_directory_uri() . '/js/custom-script.js': This tells WordPress where to find your JavaScript file, which should be located in the js folder of your theme.
  • array(): This empty array() is for dependencies. Leave it empty if your script doesn't need other scripts to work.
  • null: You can specify a version number here or leave it as null.
  • true: This loads the script at the bottom of the page. If you prefer to load it in the header, change this value to false.

4) Upload and Test

Save your changes and upload them (if you're using FTP). Then, check your website. You should see an alert saying "Welcome to our website!" when the page loads.

Method 3: Use the Custom HTML Block

You can also add JavaScript using the Custom HTML block. This is an easy option for simple scripts, like alerts or analytics tracking. 

But be careful! WordPress may block certain scripts for security reasons, especially if they're third-party. 

Since you don't need to touch theme files, this is a great choice for non-developers or anyone who prefers to avoid backend changes.

Here's how to do it:

1) Open Your Post or Page

Open the post or page where you'd like to insert your JavaScript. Click "Edit" to open it in the block editor.

2) Add the Custom HTML Block

Look for the plus (+) icon to add a new block. Then, choose "Custom HTML" from the options. This little block allows you to insert not just HTML but also simple JavaScript codes.

add custom HTML block on WordPress

3) Insert Your JavaScript

Now that the Custom HTML block is in place, you can add your JavaScript code here. 

Using the same alert message example from the previous methods, add the following code:

<script type="text/javascript">
  alert("Welcome to our website!");
</script>

4) Preview the Script

After pasting the code, you can switch between "HTML" and "Preview" modes using the toolbar above the block. The “HTML” mode lets you see the raw code, while the “Preview” mode gives you a sneak peek of how it'll look and work on the front end.

WordPress HTML mode view

5) Save and Publish

Happy with your code? Just save your changes and hit publish (or update if you’re editing an existing page). Your JavaScript should now work within the content of that page.

JavaScript pop-up message

Method 4: Add Directly to the Header or Footer

Want to run your JavaScript across your entire WordPress website? Try inserting it directly into your theme’s header.php or footer.php

This approach gives you full control over where and how JavaScript is executed on your website. You don’t need additional plugins to make it work. It's great for handling analytics, ads, or any custom features you want on every page.

If you want to give this a try, follow these steps:

1) Access the Theme Editor

From your WordPress dashboard, go to Appearance > Theme File Editor. Choose either header.php or footer.php, depending on where you want the script to run. 

For scripts that need to load early (like custom styling), you can place them in header.php. If you want your scripts to run after the page loads (such as tracking codes), place them in footer.php.

2) Insert Your JavaScript Code

If you’re inserting in the header.php, make sure to place it just before the closing </head> tag, like this:

<head>
  <!-- Other head elements here -->
  <script>
    alert("Welcome to our website!");
  </script>
</head>

Alternatively, for footer.php, place the code before the closing </body> tag.

3) Save Changes and Test

After adding the code, click “Update” to save your changes. Then, visit your website and see if everything's working as planned. If something seems off, open up your browser's Developer Tools and check the console for any errors.

Tips for Adding JavaScript to WordPress

Custom codes can make or break your website!

To safely add scripts and avoid performance issues, we highly recommend you to:

1) Avoid Adding Scripts on Every Page

Don't load unnecessary JavaScript on every page. Use WordPress's wp_enqueue_script() to ensure your scripts only load when they're needed. This function also helps you manage dependencies and keeps your website running smoothly.

2) Use Conditional Loading

Use conditional tags to load JavaScript only on specific pages or under certain conditions. 

For example, use is_front_page() in your theme’s functions.php to load a script only on the homepage. Doing so reduces unnecessary HTTP requests and prevents your website from slowing down.

3) Use a Separate JavaScript File

It’s always a good practice to place your JavaScript in a separate .js file rather than embedding it inline. It prevents clutter in your HTML and makes your code easier to maintain. Browsers can also cache your scripts to speed up your website for repeat visitors.

4) Defer or Asynchronously Load Scripts

Don’t let JavaScript hog the spotlight. Whenever possible, defer or load your scripts asynchronously. Use this strategy so that the browser can keep rendering the page without waiting for everything to load.

5) Avoid Using Too Many JavaScript Plugins

Plugins are great, but too many can drag your website down. 

Each plugin may load additional scripts, which increases the number of HTTP requests and can lead to conflicts. Try consolidating features into fewer plugins. Or, roll up your sleeves and create a custom solution if you can.

How to Add JavaScript to WordPress - FAQs

Can I use JavaScript instead of PHP in WordPress?

No, you can't fully replace PHP with JavaScript in WordPress. They complement each other - PHP handles server-side tasks like connecting to the database and generating dynamic content, while JavaScript works on the front end to add interactivity.

Do I need PHP if I use JavaScript?

Yes, you'll still need PHP even if you're using JavaScript. PHP handles core WordPress functions like database queries. While JavaScript adds interactive elements on the front end, it relies on PHP to get the data it needs.

How do I add JavaScript code to a specific page in WordPress?

To add JavaScript to a specific page, you can use plugins like WPCode. If you prefer a hands-on approach, you can also add the code to your functions.php file and use conditions like is_page() or is_single() to target specific pages. This way, your script will only run where you want it to.

That’s It!

We’ve just covered different methods for adding JavaScript to WordPress. 

If you’re a beginner, we highly recommend using plugins to keep things simple and avoid potential issues with theme files. For those who are comfortable with WordPress’s inner workings, manually adding code to your theme files can offer more control and efficiency.

Just remember to be cautious when adding custom code to your website. Experiment with new features on a staging site and follow the tips we’ve discussed. 

Hope you’ve found this helpful!

By: Christy Cañete
Technical Writer

AgentWP Mascott
Try The Only AI Agent for WordPress
Use AgentWP to learn, create, maintain, secure, code... the list goes on.
Use For Free

Join The AgentWP Newsletter

Product updates, AI news, and WordPress content.

Do Anything WordPress.

Start For Free