it-swarm.com.de

Hinzufügen einer .js-Datei Nur auf einer bestimmten Seite dynamisch zum Kopf

Ich muss einige Scrips für Google Maps nur auf meiner Kontaktseite hinzufügen und möchte sie nicht auf allen Seiten auffüllen. Ich bin nicht bereit, einen benutzerdefinierten Header zu erstellen. Ich dachte also, gibt es eine Möglichkeit, die js-Datei nur auf der Kontaktseite auszufüllen? Zur Zeit benutze ich diesen Code, um Javascript zum Thema hinzuzufügen

//Load Scripts
function load_scripts(){
    wp_deregister_script('jquery'); // De-register Existing jquery
    wp_enqueue_script('jquery', 'http://code.jquery.com/jquery.js', '', '', true);
    wp_enqueue_script('bootstrap-jquery', get_template_directory_uri().'/assets/js/bootstrap.js', '', '', true);
}

aber wie gesagt, ich habe eine andere Datei mit dem Namen googlemap.js . Können Sie mir bitte mitteilen, ob ich sie NUR der Kontaktseite aus diesem Code hinzufügen kann? Der andere Punkt ist, dass Wordpress diesen Code am Ende des Körpers (vor dem Tag) hinzufügt, was ehrlich gesagt ich weiß nicht wie und warum ! aber in meinem speziellen Fall muss ich den Code hinzufügen! Kannst du mir bitte mitteilen, wie ich das machen kann?

Vielen Dank

3
Behseini

Verwenden Sie bedingte is_page() zum Laden des Skripts auf einer bestimmten Seite.

Hier ist die geänderte Version Ihrer Funktion:

//Load Scripts
function load_scripts(){
    wp_deregister_script('jquery'); // De-register Existing jquery
    wp_register_script('jquery', 'http://code.jquery.com/jquery.js', '', '', true);
    wp_enqueue_script( 'jquery' );

    wp_register_script('bootstrap-jquery',get_template_directory_uri().'/assets/js/bootstrap.js', array( 'jquery' ), '', true);
    wp_enqueue_script( 'bootstrap-jquery' );

    // register the script
    wp_register_script( 'my-script', 'URL to Script' ); // by default script will load to head

    // conditionally load page
    if (is_page( 'Contact' )) {
        wp_enqueue_script('my-script');
    }
}
3
Sisir

Hier sind einige Tricks für Sie

Hinweis:

wp_register_script(); // is only register js file, it is not running
wp_deregiser_script(); // is completely remove js file, it is not Nice method is to use in page condition check

//Run Js
wp_enqueue_script(); // is use only your register js file,
wp_dequeue_script(); // this function make not to run js file, it is Nice method to use in page codition check

In deiner functions.php Datei

function js_library() {

    //1. Method
    if ( is_front_page() ) {
        //wp_dequeue_script();
    }

    //2. Method
    if ( is_page(120)) { //120 is page id, you can get page id using using $post->ID or get_the_ID
        //wp_dequeue_script();
    }

    if ( is_page($post->ID) == 120 ) { //120 is your page id
        //wp_dequeue_script();
    }

    if ( is_page('about-us') ) { //about-us is using page slug, you can get page slug http://yourdomain.com/about-us
        //wp_dequeue_script();
    }

    $remove_js_pages = array('about-us', 'contact-us', 'service'); // for multi page slugs
    if ( is_page($remove_js_pages) ) { //remember you can get page slug from your page url ;-)
        //wp_dequeue_script();
    }

    //Using page name
    $pagename = get_query_var('pagename');
    if ( !$pagename && $id > 0 ) {
        // If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object
        $post = $wp_query->get_queried_object();
        $pagename = $post->post_name;
    }

    if ( is_page() == $pagename ) {
        //wp_dequeue_script();
    }
}
3
por