How to Add JavaScript to WordPress Pages and Posts

JavaScript is a programming language that can add interactive features to your website. Learning how to use it on your WordPress site, including specific sections, can help you leverage the code more effectively. 

There are multiple ways to add JavaScript to your WordPress pages and posts. Whether you use a plugin, use functions and hooks, or edit your theme’s files, you can get the customization you want.

In this post, we’ll review what JavaScript is and how you can add custom code to WordPress. We’ll walk you through the process of each method and answer some frequently asked questions. 

Can you use JavaScript in WordPress? 

JavaScript is a programming language that you can use to improve the user experience (UX) of a website by making it more interactive and responsive. 

For example, you could use JavaScript to create a popup window when a visitor clicks on a button. You might also display a message when someone hovers over an element on your page.

JavaScript can add calculators, video players, and other tools to WordPress pages and posts. While you’ll need some basic HTML and CSS knowledge to add JavaScript to WordPress, it’s a fairly straightforward process.

What to do before adding JavaScript code to WordPress

When adding JavaScript code to your WordPress site, it’s important to remember that errors in your code can break your entire site. If you’re not comfortable working with code, you might want to hire a developer to help you.

Otherwise, make sure you have a site backup before making any changes. That way, if something goes wrong, you can always revert to a working version of your website.

There are two parts of your WordPress site you need to back up before adding any customizations:

  1. Database: Where all your posts, pages, settings, and configurations are stored.
  2. Files: Your images, videos, themes, and plugins.

You can use a plugin like Jetpack to back up your WordPress site quickly and easily. Another option is to back up your files manually. You should also consider creating a child theme for adding custom code.

A child theme is a duplicate of your current theme that you can customize without affecting the original code. You can simply activate the original theme to revert any changes if you make a mistake. This also allows you to update your parent theme without losing the code changes you made.

Additionally, you might consider testing your custom JavaScript on a staging site before adding it to your live site. A staging site is a copy of your live website that you can use for testing purposes. It’s a good idea to set one up in case something goes wrong with your JavaScript changes.

How to add JavaScript to your whole WordPress site

If you want to add JavaScript to your entire WordPress site, there are a few different approaches. One method is to add a custom HTML file to your theme and then insert the JavaScript code into that file.

Another way is to create a WordPress plugin that will contain your JavaScript code. You can also simply edit your functions.php file and insert the code there.

Alternatively, to make changes across your entire WordPress site, you can add JavaScript to the header or footer. The easiest way is to install and activate the Insert Headers and Footers plugin. Let’s explore all four methods in depth. 

Four ways to add custom JavaScript to WordPress 

There are different ways you can add custom WordPress JavaScript to your website. Here’s a step-by-step guide for each:

Method 1: Use a plugin

The easiest way to add JavaScript to WordPress is with a plugin. This method is more flexible and easier to manage than adding the code directly to your theme. 

If you’re not comfortable with coding or want a more user-friendly solution, we recommend using one of the many plugins available for adding JavaScript to WordPress. 

For this tutorial, we’ll be using Insert Headers and Footers.

Once the plugin is activated, navigate to Settings Insert Headers and Footers in your WordPress dashboard.

inserting JavaScript with a plugin

You’ll see two boxes labeled Scripts in Header and Scripts in Footer. Any code you add to these boxes will be inserted into the header or footer of your site. This is where you’ll add your JavaScript.

Let’s say you want to add a JavaScript confirm box. In the Scripts in Header box, insert the following code:

<!DOCTYPE html>
<h2>JavaScript Confirm Box</h2>
<button onclick="myFunction()">Try it</button>
function myFunction() {
 var txt;
 if (confirm("Press a button!")) {
  txt = "You pressed OK!";
 } else {
  txt = "You pressed Cancel!";
 document.getElementById("demo").innerHTML = txt;

This code will display a Try it button in the header. When you select the button, it will confirm that you pressed it.

JavaScript confirm box in action

You can test this feature out by going to your website and clicking on the Try it button.

Method 2: Add JavaScript to your theme

Adding JavaScript directly to your theme is one of the simplest methods. You’ll need to create a new file in your theme’s directory and name it something like “custom.js.”

Then, you can add your JavaScript code to that file and save it. Finally, edit your header.php file and add a line of code to load the new JavaScript file:


Remember to replace “custom.js” with the name of your file. Once you’ve added that line of code, save your header.php file and upload it to your server. Your JavaScript code should now be running on your entire WordPress site.

Method 3: Use WordPress functions and hooks

You can also add custom code with WordPress functions and hooks. A function is a piece of code that performs a specific action. For instance, the wp_enqueue_script() function is used to load a JavaScript file.

A hook is a WordPress feature that can add code without editing any core files. There are two types of hooks: actions and filters.

An action is a PHP function triggered at specific points during the loading of a page. As an example, the wp_head action hook is triggered before the </head> tag in your theme’s header.php file. You can use this hook to add custom code or scripts to your header.

Filters modify existing code or data. For example, the_content filter can alter the content of a post before it’s displayed.

To add custom JavaScript to your WordPress site using functions and hooks, you’ll need to insert your code into your child theme’s functions.php file.

Add a new folder in your WordPress directory to create a child theme. Then make a style.css file that will contain your child theme’s styles. Next, you’ll need to add the following code to your style.css file:

Theme Name: Twenty Twenty-Two Child
Template: twentytwentytwo

Now that you’ve created your child theme, you can activate it by going to AppearanceTheme File Editor from your WordPress dashboard. Navigate to the functions.php file, then add the following code:

function ti_custom_javascript() {
          // your javascript code goes here
add_action('wp_head', 'ti_custom_javascript');

When you’re done, save your changes. 

Method 4: Create a plugin

If you want to keep your JavaScript code separate from your theme, you can create a WordPress plugin to contain it. Making a plugin is more involved than adding the code directly to your theme. Still, this approach can be more flexible and easier to manage.

To create a plugin, you first need to make a new directory in your WordPress installation’s wp-content/plugins directory. Name the directory something like “my-javascript-plugin.”

Then, create a new file in that directory and name it “my-javascript-plugin.php.” The contents of that file should look like this:

Plugin Name: My JavaScript Plugin 
Plugin URI: 
Description: This plugin contains my JavaScript code. 
Version: 1.0 
Author: Jane Doe 
Author URI: 

Replace the Plugin Name, Plugin URI, Description, Author, and Author URI fields with your values. These are just general information fields that describe your plugin.

Next, you need to add your JavaScript code to the file. The code should go below the initial plugin information but before the closing PHP tag (?>). Once you’ve added your code, save the file and upload it to your server.

Your plugin should now be installed and activated. You can verify it’s working by going to the Plugins page in your WordPress admin panel. You should see your plugin listed there.

How to add JavaScript to a specific WordPress page or post

If you want to add JavaScript to a specific WordPress page or post, you can insert code directly into the theme editor. Navigate to the functions.php file, then add the following code:

function ti_custom_javascript() {
  if (is_single ('1')) { 
        <script type="text/javascript">
          // your javascript code goes here
add_action('wp_head', 'ti_custom_javascript');

You will need to change the “1” in the above code to the post or page ID. You can find this number by opening the post from your dashboard, then finding the URL in the browser bar. The ID number will be next to “post=”:

finding the WordPress post IDD

Once you replace that number and add your custom JavaScript, remember to save your file. 

How to add JavaScript to your WordPress menu

To add JavaScript to your WordPress menu, you’ll need to make a custom menu item. First, locate the menu item ID number using Developer Tools, then use jQuery to target that ID. This will trigger the script anytime a visitor clicks on the menu item. 

How to add JavaScript to your WordPress footer

The easiest way to add JavaScript to your WordPress footer is with a plugin like Insert Headers and Footers. This tool can insert code into the header and footer of your WordPress site without editing any theme files.

To use Insert Headers and Footers, simply install and activate the plugin. Then, go to SettingsInsert Headers and Footers

On the settings page, you’ll see three boxes for adding code to your site’s header, body, and footer. Just paste your JavaScript code into the appropriate Scripts in Footer box and click on the Save button.

Another method is editing your functions.php file. You can insert the following code to run JavaScript in the footer of your site:

function wpb_hook_javascript_footer() {
          // your javascript code goes here
add_action('wp_footer', 'wpb_hook_javascript_footer');

This code will hook into wp_footer. Remember to save the file to update the changes when you’re done.

How to add JavaScript to a WordPress widget

To add JavaScript to a WordPress widget, you’ll need to edit the widget’s code. To do that, click on the widget’s menu and select Edit as HTML.

Edit as HTML option in the Editor

In the code editor of the block, add your <script> tags and JavaScript code. When you’re done, select the Update button.

How to add “onclick” JavaScript to a WordPress button

Adding an “onclick” event to a WordPress button is a great way to add extra functionality to your website. You could use an onclick event to trigger a popup window or display a message when the button is clicked.

To add an onclick event to a WordPress button, you’ll need to edit the button’s code and add the following attribute: onclick=”your_function()”. Be sure to replace “your_function()” with the JavaScript code you want to run when the button is clicked.

Once you have added the onclick attribute, hit the Save button. Your button should now have the onclick event added to it.

How to find & debug a JavaScript error on a WordPress page

To find and debug JavaScript errors, you can enable script debugging in your site’s wp-config.php file. 

Open the file via a File Transfer Protocol (FTP) client or your File Manager. Then insert the following code:

define('SCRIPT_DEBUG', true);

Remember to place this code before the “That’s all, stop editing! Happy blogging” line. 

To find and debug JavaScript errors on a WordPress page, you can use your browser. In Google Chrome, click on the menu icon (three vertical dots) in the top-right corner. Then, select More tools Developer tools from the drop-down menu.

accessing Google Chrome developer tools

You can also access the developer tools by pressing Ctrl + Shift + J (Windows/Linux) or Cmd + Option + J (Mac).

Once the Developer tools are open, click on the Console tab. Here, you’ll see any JavaScript errors that have occurred on your WordPress site.

reviewing a JavaScript error

If you’re unsure what the error means or how to fix it, you can search for it online. Just copy and paste the error message into a search engine, and you should find some helpful results.

You can also try deactivating all of your WordPress plugins to see if that approach fixes the issue. If it does, you know that one of your plugins is causing the problem. You can also narrow down which tool is causing the issue by reactivating your plugins one at a time until you find the culprit.

If you’re still having trouble, consider contacting your WordPress hosting company for further assistance. They should be able to help you identify and fix the issue.

How to add other coding languages to WordPress (HTML, CSS, PHP)

There are various methods to add other coding languages to WordPress. For instance, you can use the Custom HTML or Code blocks. 

Another method is installing a plugin like Code Snippets.

The Code Snippets plugin lets you add code directly in the editor and give it a title. You can also choose whether to execute the code in the header or footer of your site.

Frequently asked questions (FAQs) about adding JavaScript to WordPress

At this point, you should hopefully have a firm understanding of how to add JavaScript to WordPress. Now let’s take a moment to look at some FAQs.

What is the best way to add inline JavaScript to WordPress?

The best way to add inline JavaScript is to use the wp_add_inline_script() WordPress function. 

What is the best way to add a JavaScript library to WordPress?

If you want to add a JavaScript library, you can do so by editing your theme’s code. We’ll add and use jQuery as an example. 

In your WordPress dashboard, navigate to Appearance Editor and locate the file named footer.php. Click on this file to edit it.

At the bottom of the file, you’ll see a line of code that looks like this: “wp_footer();”. Add the following code above this line:

wp_enqueue_script( 'jquery', get_template_directory_uri() . '/js/jquery.js', array(), '1.0.0', true );

Save your changes. Your jQuery library should now be added to WordPress. You can test it out by going to the front end of your website and seeing if it’s working correctly.

Can you add custom JavaScript using a WordPress shortcode?

You can use custom JavaScript with WordPress shortcodes. You’ll need to add the following code to your functions.php file:

function my_shortcode_javascript() { ?> <script type="text/javascript"> // Add your javascript here </script> <?php } add_shortcode( 'my-shortcode', 'my_shortcode_javascript' );

This method will allow you to use the following shortcode in your post or page content. You can then use this same technique to enqueue any other scripts you need for your shortcode.

Can you add custom JavaScript using the Block Editor?

You can add custom JavaScript to your WordPress site using the Block Editor. To do this, simply add the Custom HTML block.

adding the Custom HTML block to WordPress

Then paste your JavaScript code into the block. Just be sure to use the opening <script> and closing </script> tags.

Can you add custom JavaScript using the Classic Editor (TinyMCE)?

WordPress recommends upgrading to the Block editor. But if you’re still using the Classic Editor (TinyMCE), you can add custom JavaScript in a few simple steps.

Navigate to the page or post where you want to insert the JavaScript. Next, in the editor toolbar, select the Text tab.

Adding JavaScript code in WordPress using the Classic Editor

Here, you can insert your JavaScript code. Again, make sure to include the <script> tags.

Start customizing your WordPress site

Adding JavaScript to your WordPress site can create interactive features and improve your page’s user experience (UX). There are a few different ways to add JavaScript.

The best method for you will depend on your preferences and the nature of the code you’re adding. Working directly with your theme might be easiest if you’re just inserting a small amount of code. But if you’re adding a lot of code, using a plugin or editing functions.php might be better.

Adding JavaScript can slow down your site if it’s not optimized. Thankfully, Jetpack Boost is an easy, free tool to optimize your site speed and performance, and defer non-essential JavaScript when your loading your site’s pages. Not only will your visitors thank you for using Jetpack Boost, search engines may reward you with better rankings, too. 

This entry was posted in Code snippets, Learn. Bookmark the permalink.

Simon Keating profile
Simon Keating

Simon has worked in marketing and product development for over 10 years, previously at HubSpot, Workday, and now Automattic (Jetpack). He has a varied education, with a degree in chemical engineering and a masters in computer science to his name. His passion is helping people and their businesses grow.

Explore the benefits of Jetpack

Learn how Jetpack can help you protect, speed up, and grow your WordPress site.

Get up to 50% off your first year.

Compare plans

Have a question?

Comments are closed for this article, but we're still here to help! Visit the support forum and we'll be happy to answer any questions.

View support forum
  • Enter your email address to follow this blog and receive news and updates from Jetpack!

    Join 112.4K other subscribers
  • Browse by Topic

  • %d bloggers like this: