Run Specific Js on Specific page Wordpress

18,165

Solution 1

You code is great! You are just missing a closing parenthesis:

function my_scripts() {
    if( is_page( array( 'about-us', 'contact', 'management' ) ) ){
        wp_enqueue_script( 'script-name', 'path/to/example.js', array(), '1.0.0', true );
    }
}
add_action( 'wp_enqueue_scripts', 'my_scripts' );

For future reference, in your wp-config.php file you can set debug to true, I believe that this will pick it up.

Solution 2

There is multiple other ways.

Just open your header.php and try to get current page slug or id and put simple if condition it will surely include your js

Code 1

global $post;
$post_slug=$post->post_name;
if($post_slug == 'about'){
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/example.js"></script>
}

OR Code 2

$currentID= get_the_ID();
//instead of 10 put the your id
if($currentID == 10){
 <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/example.js"></script>
}
Share:
18,165
Project Orbit
Author by

Project Orbit

Updated on June 25, 2022

Comments

  • Project Orbit
    Project Orbit almost 2 years

    I want to run a specific js on a specific page. I.e: wwww.custom.com/english/

    I've tried the following two codes (header.php and functions.php) but none of them work.

    Code 1:

    <script>
    if(location.pathname=="/english/") 
     script.src = /js/custom.js;
    </script>
    

    Code 2:

    function my_scripts() {
        if( is_page( array( 'about-us', 'contact', 'management' ) ){
            wp_enqueue_script( 'script-name', 'path/to/example.js', array(), '1.0.0', true );
        }
    }
    add_action( 'wp_enqueue_scripts', 'my_scripts' );
    

    The header one does not show at all, no error either. The functions.php is a syntax error.

    Any suggestions? Much Obliged

    PS: I'm using WordPress.