web-dev-qa-db-fra.com

plugin jQuery seulement dans une page/post

J'ai vu toute la documentation dans le codex, mais je fais quelque chose de mal car cela ne fonctionne pas!

Je veux implémenter ce plugin jQuery ( https://github.com/davidcrawford/typist-jquery ) dans ma page d'accueil ( www.english.intermediavs.com ).

J'ai ajouté ce code dans mon function.php:

function my_typist() {
    if (!is_admin()) {

        wp_enqueue_script('jquery');

        wp_enqueue_script('jquery.typist', get_bloginfo('template_url') . '/wp-includes/js/jquery.typist.js', array('jquery'), '1.0', true);
    }
}
add_action('init', 'my_typist');

Et j'ai aussi introduit ce code dans la "page d'accueil" en utilisant le plugin HTML brut:

<!--raw-->
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/wp-includes/js/jquery.typist.js">
jQuery(document).ready(function($) {

$('#terminal').typist({
  height: 300
});

$('#terminal').typist('Prompt')
  .wait(1500)
  .typist('type', 'greet')
  .typist('echo', 'Hello, world!')

});
</script>
<!--/raw-->

PS: J'utilise le plugin Utilisez également les bibliothèques de Google.

liens: http://codex.wordpress.org/Using_Javascript

http://codex.wordpress.org/Function_Reference/wp_enqueue_script

3
FZNB

Si vous souhaitez uniquement utiliser la bibliothèque "jquery.typist" sur une page, vous pouvez simplement l'ajouter à la is_page() conditionnelle, mais si vous souhaitez l'utiliser sur plusieurs pages, vous devez simplement minifyi tous vos fichiers js en un seul. et le compresse et le cache. Il est préférable d’utiliser un seul fichier js qui est compressé et mis en cache que d’utiliser plusieurs fichiers uniques.

Et il semble également que vous ayez placé le fichier dans/wp-includes/js? il devrait être dans votre dossier racine du thème.

Disons que votre structure est themes/mytheme dans mytheme, vous devriez avoir un dossier js. si c'est le cas, le code pourrait ressembler à ceci:

function wpse_75149() {
    // add  the id on the page whare you want the script
    if ( is_page('123') ) {

        wp_enqueue_script('jquery');

        wp_enqueue_script('jquery.typist', get_template_directory_uri() . '/js/jquery.typist.js', array('jquery'), '1.0', true);
        wp_enqueue_script('custom-script', get_template_directory_uri() . '/js/myscript.js', array('jquery');
    );
    }
}
// load js in footer 
add_action('wp_footer', 'wpse_75149');

Créez un fichier js appelé myscript.js dans votre dossier theme/js et ajoutez:

jQuery(document).ready(function($) {

$('#terminal').typist({
  height: 300
});

$('#terminal').typist('Prompt')
  .wait(1500)
  .typist('type', 'greet')
  .typist('echo', 'Hello, world!')

});

http://codex.wordpress.org/Function_Reference/is_page - condition pour imprimer le script sur la page de droite http : //codex.wordpress.org/Function_Reference/wp_enqueue_script - comment charger des scripts

2
Pontus Abrahamsson

Vous ne spécifiez pas l'emplacement correct de votre fichier JS. Votre dossier est en:

http://www.english.intermediavs.com/wp-includes/js/

mais ça:

get_bloginfo ('template_url'). '/wp-includes/js/jquery.typist.js'

ne lie pas à cela, il essaie de charger un dossier wp-includes dans le répertoire de votre thème actuel, vous voulez plutôt ceci:

home_url (). '/wp-includes/js/jquery.typist.js'

2
Steve Claridge