The best spot to discover open-source JavaScript libraries is GitHub. State, you need to add a picture lightbox to your site that enables clients to zoom pictures. GitHub has a very propelled hunt usefulness. Simply type the inquiry “JavaScript lightbox” into the pursuit box and locate the one that best suits your necessities.

In this article, we will utilize the Intense Images JavaScript library for instance. Yet, you can pursue similar strides to include some other outsider JavaScript (or jQuery) library to your WordPress site.

Get to know moreĀ

Serious Images on GitHub Pages

Note that JavaScript libraries are here and there called JavaScript modules. These are unique in relation to WordPress modules. JavaScript modules (libraries) keep running toward the front, while WordPress modules keep running toward the back.

You can introduce WordPress modules from the Plugins menu inside your WordPress administrator region. Be that as it may, JavaScript (or jQuery) modules should be transferred to your server into your topic’s organizer (generally/wp-content/subjects/your-topic/).


As Intense Images is a JavaScript library that will keep running toward the front, you have to add it to your subject’s envelope. Along these lines, the outside library will be bound to the topic. On the off chance that you enact another subject and still need to utilize the usefulness, you should add the library to the new topic too.

Be that as it may, it’s not the best plan to add customizations straightforwardly to a WordPress subject, as when you refresh the topic, you lose your customizations. The arrangement is to make a tyke subject and add the outside JavaScript library to it (rather than the parent topic). We have an entire article about how to make a WordPress youngster subject. Here, we’ll simply make reference to the most critical advances.

In the first place, associate with your server and make another organizer inside your subjects envelope (in the event that you haven’t altered the way, it’s/wp-content/topics) for the tyke topic. You can name it whatever you like yet it’s a decent practice to some way or another show its connection to the parent subject. In the precedent, we’ll make an organizer called twentyseventeen-kid. It will be the youngster topic of the Twenty Seventeen subject.

Inside the new envelope, make two records: style.css and functions.php. Open the style.css record in your code supervisor and include the accompanying code:


Topic Name: Twenty Seventeen Child

Topic URI: Creator: the WordPress Theme

Creator URI:

Depiction: Twenty Seventeen Child Theme

Format: twentyseventeen

Variant: 1.7

Permit: GNU General Public License v2 or later

Permit URI:

Content Domain: twentyseventeen-tyke


This CSS code ties the tyke topic to the parent subject. Note that the parent topic (Twenty Seventeen in the precedent) additionally must be available inside the subjects envelope, as this is the place WordPress pulls the kid topic’s default styles from.

At that point, add the accompanying PHP code to the functions.php record:


/* Adds tyke topic */

add_action( ‘wp_enqueue_scripts’, ‘enqueue_parent_styles’ );

work enqueue_parent_styles() {

wp_enqueue_style( ‘parent-style’, get_template_directory_uri().’/style.css’ );


This PHP code registers and enqueues the tyke topic with the goal that the WordPress backend can get to it. Presently, on the off chance that you click the Appearance > Themes menu in your WordPress administrator, you will see that the youngster subject has showed up among your topics:

WordPress Child Theme Activated


Make another organizer inside the kid subject’s envelope and call it contents. This is the place the custom contents having a place with the kid subject will live. Right now, this is the manner by which the document structure of our precedent subjects envelope resembles:


– twentyseventeen/

– twentyseventeen-tyke/

– contents/

– functions.php

– style.css

Presently, download the outsider JavaScript library (Intense Images in our precedent) from GitHub into the contents/organizer. You can either download the ZIP document from GitHub or clone the storehouse utilizing the accompanying order:

git clone images.git

When you complete the download, your record structure should resemble this:


– twentyseventeen/

– twentyseventeen-tyke/

– contents/

– extreme pictures/

– functions.php

– style.css


Along these lines, the outer JavaScript library is now transferred to your server. Be that as it may, when your site stacks in the client’s program, it additionally needs to call the outsider content. You have to add this code to a different JavaScript document.

Inside the contents/organizer make another content record and call it loader.js. You can utilize an alternate name with the .js augmentation also. Here’s the way your document structure should be adjusted:


– twentyseventeen/

– twentyseventeen-youngster/

– contents/

– serious pictures/

– loader.js

– functions.php

– style.css

Open the loader.js record in your code editorial manager and include the accompanying code:

window.onload = work() {

/Intensify all pictures on the page.

var component = document.querySelectorAll( ‘img’ );

Serious( component );


This code stacks the Intense Images JavaScript module on page load. Yet, how would you realize what code to use to call the content? Indeed, the library’s GitHub docs (nearly) dependably incorporate the guest content you have to utilize.

For example, Intense Images gives clients three alternatives. In the code bit above, we have utilized the first that adds the library to all pictures, yet the other two choices work similarly also.


In the past advances, the JavaScript module (exceptional pictures/) and the guest content (loader.js) has been added to the front-end of your tyke subject. In any case, you additionally need to enlist and enqueue the contents on the backend (in Step 2, we just enrolled and enqueued the kid topic however not the contents).

You can do that by adding the accompanying code to your functions.php document you made in Step 2. Open it again in your code editorial manager and add the accompanying code as far as possible of the record:

/* Adds contents */

add_action( ‘wp_enqueue_scripts’, ‘add_scripts’ );

work add_scripts() {

wp_enqueue_script(‘intense-pictures’, get_theme_file_uri( ‘/contents/exceptional pictures/intense.min.js’));

wp_enqueue_script(‘loader’, get_theme_file_uri( ‘/contents/loader.js’), array(‘intense-images’));


This PHP code includes both the Intense Images library and loader.js to the kid topic. It makes utilization of the wp_enqueue_script() work that is a piece of the WordPress API and registers and enqueues outside contents.

We don’t need to include the entire Intense Images library, simply the intense.min.js minified content record. On account of loader.js, we likewise need to include extreme pictures (inside an exhibit) as a contention, as loader.js is a reliance of the Intense Images library. (Note that on the off chance that you include a jQuery module you likewise need to include jQuery as a reliance.)

Likewise focus on the correct record way you add to the get_theme_file_uri() work. This capacity is a piece of the WordPress API too. It recovers the URL of your subject’s organizer (in the model twentyseventeen-tyke). Here, we use it to powerfully add the record ways having a place with the outside contents.


The outsider JavaScript library is ready for action now. It’s a great opportunity to test on the off chance that it legitimately works. It relies upon the library how you should test it. In our model, Intense Images basically includes itself to all pictures the site, as this is the means by which we set it up in loader.js.

Along these lines, to test it, it’s sufficient to reload the WordPress site, click on any picture and look at if it’s increased or not. For example, here’s a picture on our test site:

Testing JavaScript Library Before Click

On snap, the picture gets full-screen, and on a second snap, it comes back to its unique size:

Testing JavaScript Library After Click

This unmistakably demonstrates the outsider JavaScript module has been legitimately set up and added to the WordPress topic.

Leave a Reply

Your email address will not be published. Required fields are marked *