Recherche…


Syntaxe

  • wp_enqueue_script ($ handle, $ src, $ deps, $ ver, $ in_footer)

Paramètres

Paramètre Détails
$ handle (chaîne) (obligatoire) Nom du script. Devrait être unique.
$ src (string) (Facultatif) URL complète du script ou chemin du script relatif au répertoire racine de WordPress. Valeur par défaut: false
$ deps (array) (Facultatif) Un tableau de descripteurs de script enregistrés dépend de ce script. Valeur par défaut: array ()
$ ver (string | bool | null) (Facultatif) Chaîne spécifiant le numéro de version du script, s'il en a un, qui est ajouté à l'URL en tant que chaîne de requête à des fins de contournement du cache. Si la version est définie sur false, un numéro de version est automatiquement ajouté égal à la version WordPress installée actuelle. Si défini sur null, aucune version n'est ajoutée. Valeur par défaut: false
$ in_footer (bool) (Facultatif) Indique si le script doit être mis en file d'attente avant </body> plutôt que dans <head> . Valeur par défaut: false

Saisie de scripts dans functions.php

Si vous souhaitez ajouter custom.js script custom.js situé dans le dossier js/ de votre thème, vous devez le mettre en file d'attente. Dans functions.php add

<?php

add_action( 'after_setup_theme', 'yourtheme_theme_setup' );

if ( ! function_exists( 'yourtheme_theme_setup' ) ) {
    function yourtheme_theme_setup() {

        add_action( 'wp_enqueue_scripts', 'yourtheme_scripts' );
        add_action( 'admin_enqueue_scripts', 'yourtheme_admin_scripts' );

    }
}

if ( ! function_exists( 'yourtheme_scripts' ) ) {
    function yourtheme_scripts() {

        wp_enqueue_script( 'yourtheme_custom', get_template_directory_uri().'/js/custom.js', array( 'jquery' ), '1.0.0', true );

    }
}

if ( ! function_exists( 'yourtheme_admin_scripts' ) ) {
    function yourtheme_admin_scripts() {

        wp_enqueue_script( 'yourtheme_custom', get_template_directory_uri().'/js/custom.js', array( 'jquery-ui-autocomplete', 'jquery' ), '1.0.0', true );

    }
}

Mettre en file d'attente les scripts pour IE uniquement

add_action( 'wp_enqueue_scripts', 'enqueue_my_styles_and_scripts' );

/**
 * Enqueue scripts (or styles) conditionally.
 *
 * Load scripts (or stylesheets) specifically for IE. IE10 and above does
 * not support conditional comments in standards mode.
 *
 * @link https://gist.github.com/wpscholar/4947518
 * @link https://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx
 */
function enqueue_my_styles_and_scripts() {

     // Internet Explorer HTML5 support
    wp_enqueue_script( 'html5shiv',get_template_directory_uri().'/js/html5shiv.js', array(), '3.7.3', false);
    wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' );

    // Internet Explorer 8 media query support
    wp_enqueue_script( 'respond', get_template_directory_uri().'/js/respond.js', array(), '1.4.2', false);
    wp_script_add_data( 'respond', 'conditional', 'lt IE 9' );

}

Mise en place des scripts sous certaines conditions pour des pages spécifiques

Vous pouvez utiliser des opérateurs conditionnels dans WordPress pour mettre en file d'attente des scripts sur des pages spécifiques de votre site Web.

function load_script_for_single_post(){
    if(is_single()){
        wp_enqueue_script(
                'some',
                get_template_directory_uri().'/js/some.js',
                array('jquery),
                '1.0.0', 
                false
        );

    }
} 
add_action('wp_enqueue_scripts','load_script_for_single_post');

Dans l'exemple ci-dessus, si la page Web en cours est à publication unique, le script sera mis en file d'attente. Sinon, la fonction wp_enqueue_script ne sera pas exécutée.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow