Liste des scripts js et feuilles CSS dans vos pages WordPress

Lorsqu’un développeur sous WordPress créé un plugin ou un template, s’il a besoin d’ajouter un fichier CSS ou un script js, normalement il doit utiliser la « queue » de WordPress.

Cette queue est la liste se tous les scripts,styles , elle permet d’éviter les conflits entre plugins, et évite d’inclure plusieurs fois le même script (par exemple si 2 plugins ont besoin de jQuery..).

A quoi cela va pouvoir nous servir ?

On verra un exemple concret dans l’article suivant ( dans la série  Tuto Optimisation WordPress : GTMetrix pour les nuls.)

Voici le code (toujours à ajouter dans function.php )

{code}

// ajoute la liste dans le footer
add_action(‘wp_footer’, ‘enqueued_jscss’);
function enqueued_jscss( $handles = array() ) {
global $wp_scripts, $wp_styles;$wp;

// scripts
foreach ( $wp_scripts -> registered as $registered )
$script_urls[ $registered -> handle ] = $registered -> src;
// styles
foreach ( $wp_styles -> registered as $registered )
$style_urls[ $registered -> handle ] = $registered -> src;
// if empty
if ( empty( $handles ) ) {
$handles = array_merge( $wp_scripts -> queue, $wp_styles -> queue );
array_values( $handles );
}
// output of values
$output =  »;
foreach ( $handles as $handle ) {
if ( ! empty( $script_urls[ $handle ] ) )
$output .= $script_urls[ $handle ] . ‘ handle : ‘.$handle.’
‘;
if ( ! empty( $style_urls[ $handle ] ) )
$output .= $style_urls[ $handle ] . ‘ handle : ‘.$handle.’
‘;
}

// affiche uniquement si vous êtes loggé
if(is_user_logged_in()) echo $output;
}
{/code}

vous obtenez la liste des scripts et css appelés dans votre page, ainsi que leurs « handle » = un identifiant qui va permettre d’agir sur ces scripts.
Vous pouvez supprimer ce code quand vous aurez plus besoin, ou simplement commenter la fonction add_action pour juste désactiver ce code.

Loading Facebook Comments ...

0 comments on “Liste des scripts js et feuilles CSS dans vos pages WordPressAdd yours →

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *