Je dois ajouter des scripts pour Google Maps uniquement dans ma page de contact et je ne souhaite pas le renseigner sur toutes les pages. Je ne suis pas disposé à créer un en-tête personnalisé aussi, alors je me suis demandé s'il était possible de renseigner le fichier js uniquement sur la page de contact. J'utilise actuellement ce code pour ajouter du javascript au thème
//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);
}
mais comme je l'ai dit, j'ai un autre fichier appelé googlemap.js pouvez-vous s'il vous plaît laissez-moi savoir si je peux l'ajouter à la SEULE page de contact à partir de ce code? l'autre point est Wordpress ajoute ce code à la fin du corps (avant tag) qui honnêtement Je ne sais pas comment et pourquoi ! mais dans mon cas spécifique, je dois ajouter le code! pouvez-vous s'il vous plaît laissez-moi savoir comment je peux le faire
Merci
Utilisez conditionnel is_page()
pour charger un script sur une page spécifique.
Voici la version modifiée de votre fonction:
//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');
}
}
Voici quelques astuces pour vous
Remarque:
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
Dans votre fichier functions.php
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();
}
}