Quel est le meilleur moyen d'ajouter un script en ligne dans un thème ou un plugin WordPress? Est-ce par la fonction wp_add_inline_script
ou en utilisant le hook wp_footer
? et pourquoi?
wp_add_inline_script()
est destiné à être utilisé pour les scripts en ligne qui utilisent ou dépendent d'un autre script mis en file d'attente avec wp_enqueue_script()
. Cela garantit que le script en ligne est placé de manière appropriée par rapport au script principal et qu'il n'apparaîtra pas si le script principal n'est pas enregistré. L'exemple de l'annonce utilisait Typekit:
function mytheme_enqueue_typekit() {
wp_enqueue_script( 'mytheme-typekit', 'https://use.typekit.net/<typekit-id>.js', array(), '1.0' );
wp_add_inline_script( 'mytheme-typekit', 'try{Typekit.load({ async: true });}catch(e){}' );
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_typekit' );
Ce qui résulte en
<script type='text/javascript' src='https://use.typekit.net/<typekit-id>.js?ver=1.0'></script>
<script type='text/javascript'>
try{Typekit.load({ async: true });}catch(e){}
</script>
Accrocher dans wp_footer
convient parfaitement, mais si votre script dépend d’un autre script chargé en premier, il est moins fiable, car vous devez vous assurer manuellement que vous l’ajoutez au bon endroit et que vous le supprimez correctement si le script est retiré de la file afin que les erreurs ne se produisent pas.
Si votre script ne dépend pas d'un autre script et doit être en ligne, alors wp_footer
serait la solution.