WordPress
Scripts de mise en file d'attente
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