• CYBER PARC Gafsa, Route de Tozeur Km 1, Gafsa 2100, Tunisie
  • contact@wubik.net
(+216) 51-278-742
wpbodyopen-guide-technique-complet-avec-exemples-avances

WordPress propose de nombreux hooks pour personnaliser le comportement du site, mais l’un des plus importants pour l’intégration de scripts et d’éléments au début du contenu est wp_body_open. Introduit depuis WordPress 5.2, ce hook s’exécute immédiatement après l’ouverture de la balise <body> et permet d’injecter du code HTML ou JavaScript avant le contenu principal.

1. Où se trouve wp_body_open dans un thème WordPress ?

Dans un thème conforme aux standards WordPress, wp_body_open est appelé dans header.php.

Exemple typique :

Screenshot

Le code attaché à wp_body_open s’exécute donc immédiatement après <body> et avant tout autre contenu.

2. Pourquoi utiliser wp_body_open ?

2.1 Différence avec wp_head

wp_head s’exécute dans la balise <head>. Il est utilisé pour :

  • charger des CSS
  • ajouter des meta tags
  • charger des scripts dans l’en-tête

2.2 Différence avec wp_footer

wp_footer s’exécute juste avant la fermeture de </body>. Il est utilisé pour :

  • ajouter des scripts
  • injecter des balises noscript
  • intégrer des outils d’analyse en fin de page

2.3 Pourquoi wp_body_open est unique

wp_body_open est le seul hook standard WordPress qui s’exécute **au tout début du body**, ce qui le rend indispensable pour :

  • Google Tag Manager (code noscript)
  • scripts de tracking qui doivent être exécutés au début
  • bannières globales
  • modifications DOM dès le chargement

3. Exemples concrets d’utilisation

Exemple 1 : Ajouter un message global

Screenshot

Ce message s’affiche en haut de toutes les pages.

Exemple 2 : Intégrer Google Tag Manager

Le code GTM noscript doit être placé juste après <body> :

Screenshot

Remplacez GTM-XXXX par votre identifiant.

Exemple 3 : Ajouter un script JavaScript léger

Screenshot

Ce script s’exécute immédiatement après l’ouverture du body.

Exemple 4 : Afficher une bannière conditionnelle

Screenshot

Exemple 5 : Ajouter une classe CSS via JavaScript

Screenshot

Exemple 6 : Précharger une image critique

Screenshot

Exemple 7 : Ajouter un script de chat en direct

Screenshot

Exemple 8 : Afficher une alerte pour les utilisateurs non connectés

Screenshot

4. Compatibilité : que faire si le thème ne supporte pas wp_body_open ?

Certains thèmes anciens n’incluent pas wp_body_open. Dans ce cas, les actions ne s’exécuteront pas.

4.1 Solution recommandée : ajouter wp_body_open() dans le thème

Dans header.php :

Screenshot

4.2 Solution alternative : fallback (moins recommandé)

Screenshot

Cette solution permet d’éviter des erreurs, mais elle ne remplace pas l’appel dans header.php.

5. Sécurité et bonnes pratiques

5.1 Éviter les injections XSS

Si vous affichez des données dynamiques :

Screenshot

5.2 Utiliser wp_enqueue_script pour les scripts lourds

Screenshot

Conclusion

Le hook wp_body_open est indispensable pour les intégrations modernes WordPress qui nécessitent du code juste après l’ouverture de la balise <body>. Il permet d’ajouter des scripts, des éléments HTML, des bannières, ou des intégrations tierces sans modifier le contenu principal du thème. Pour garantir la compatibilité, assurez-vous que votre thème appelle bien wp_body_open() dans header.php.