plugins_url()
Définition : plugins_url() construit une URL vers le répertoire des plugins WordPress ou vers une ressource relative à un fichier de plugin. Elle évite de fixer manuellement l’adresse des ressources distribuées.
Terminologie
Terme officiel : plugins_url()
Autres appellations : URL des extensions
À quoi cela sert
Elle fournit une adresse de ressource à partir des chemins gérés par WordPress, et fonctionne également pour certains plugins obligatoires situés dans mu-plugins. Elle est utile pour les images, scripts et feuilles de style.
Comment cela fonctionne
Avec un chemin relatif et un fichier de référence, la fonction assemble l’URL attendue. Le second argument doit correspondre à un fichier situé dans l’extension ; les filtres sur les URL peuvent influencer le résultat.
Dans quel contexte l’utiliser
Choisir cette fonction lorsqu’un plugin doit pointer précisément vers assets/app.js, en respectant le contexte de chargement WordPress.
Exemple concret
Une interface publique a besoin d’un script JavaScript distribué dans assets/app.js par le plugin.
Exemple de code commenté
<?php
// Exemple depuis le fichier PHP principal du plugin.
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_script(
'atoolpha-demo-script',
plugins_url( 'assets/app.js', __FILE__ ),
array(),
'1.0.0',
true
);
} );
// Prérequis : assets/app.js existe.
Explication pas à pas de l’exemple
plugins_url() produit l’URL du fichier demandé à partir de l’emplacement du plugin. WordPress enregistre le script sous un handle stable, avec une version et un chargement en pied de page selon les possibilités de l’API.
Résultat attendu
Lors du rendu public, l’URL du script est insérée par le système de chargement natif, si le thème exécute les hooks requis.
Précautions et limites
Éviter de calculer les URL filtrables trop tôt au chargement global des plugins. L’API ne vérifie pas l’existence du fichier ; prévoir une politique de versionnement et de dépendances.
À ne pas confondre
plugins_url() construit une URL de ressource, tandis que plugin_basename() identifie un fichier relativement au dossier des plugins.
Termes associés
- plugin_dir_url()
- wp_enqueue_scripts
- plugin_basename()
