admin_enqueue_scripts
Définition : admin_enqueue_scripts est une action WordPress déclenchée pour préparer les scripts et styles des écrans d’administration. Elle transmet un identifiant de page permettant de limiter le chargement des ressources aux interfaces réellement concernées.
Terminologie
Terme : admin_enqueue_scripts
Autres appellations : Scripts et styles d’administration, Administration Assets Hook
À quoi cela sert
Le callback reçoit $hook_suffix, identifiant de l’écran administratif courant. Un plugin peut l’utiliser pour charger son CSS ou JavaScript uniquement sur sa propre page plutôt que sur l’ensemble de wp-admin. Les API d’enqueue gèrent ensuite les dépendances.
Dans quel contexte l’utiliser
L’utiliser pour les interfaces de réglages ou les tableaux de bord de plugins. Comparer le suffixe à celui obtenu lors de l’enregistrement de la page, et éviter les hypothèses fragiles sur les noms d’écran.
Exemple concret
Un module enregistre une page sous Outils et ne veut charger son CSS que lorsque cette page est visitée.
Exemple de code commenté
<?php
// Dans le fichier principal du plugin.
$atoolpha_page_hook = '';
add_action( 'admin_menu', function () use ( &$atoolpha_page_hook ) {
$atoolpha_page_hook = add_management_page(
'Demo', 'Demo', 'manage_options', 'atoolpha-demo-assets',
function () { echo '<div class="wrap">Démo</div>'; }
);
} );
add_action( 'admin_enqueue_scripts', function ( $hook ) use ( &$atoolpha_page_hook ) {
if ( $hook !== $atoolpha_page_hook ) {
return;
}
wp_enqueue_style( 'atoolpha-admin', plugins_url( 'assets/admin.css', __FILE__ ), array(), '1.0.0' );
} );
// Prérequis : assets/admin.css existe.
Explication de l’exemple
Le suffixe retourné par add_management_page() est conservé dans une variable au niveau du fichier, puis comparé à celui transmis au hook des ressources. La feuille ne se charge que pour l’écran ciblé.
Précautions et limites
Le chargement conditionnel n’autorise pas automatiquement les requêtes AJAX provenant de l’interface : elles nécessitent leurs propres contrôles.
Termes associés
- admin_menu
- wp_enqueue_scripts
- admin_init
