Le hook WordPress init est l’un des plus importants et polyvalents pour les développeurs. Il se déclenche après le chargement des plugins et des fichiers principaux, mais avant le traitement de la requête principale. Cela en fait un point stratégique pour préparer votre site, enregistrer des contenus personnalisés, gérer des rôles ou initialiser des fonctionnalités.
Comprendre le hook WordPress init
Pour bien utiliser init, il est essentiel de comprendre où il se situe dans le cycle de vie de WordPress :
- WordPress charge les fichiers principaux et les plugins.
- Les hooks comme plugins_loaded se déclenchent.
- Ensuite, init est exécuté avant la requête principale.
- Après init, WordPress passe par les hooks comme wp_enqueue_scripts et enfin template_redirect pour générer la page.
Pourquoi init est important :
- Permet de préparer tout ce qui doit exister avant que WordPress affiche la page.
- Idéal pour créer des types de contenu, taxonomies, rôles, shortcodes et scripts.
- S’exécute à la fois sur le front-end et le back-end, ce qui nécessite parfois de filtrer avec is_admin().
Syntaxe du hook init
La syntaxe de base pour utiliser init est la suivante :
- ‘init’ : le nom du hook
- ‘ma_fonction_init’ : la fonction personnalisée qui sera exécutée
Exemple avec fonction simple :
Explications importantes :
- add_action() : permet de connecter votre fonction à un hook WordPress.
- La fonction liée à init s’exécutera chaque fois que WordPress charge une page (front ou back).
- Vous pouvez définir la priorité pour contrôler l’ordre d’exécution :
- Les fonctions exécutées sur init doivent être légères, car elles s’exécutent à chaque chargement de page.
Exemples concrets et expliqués
1. Créer un Custom Post Type (CPT)
Explication :
- register_post_type doit être exécuté avant la requête principale.
- supports définit les champs disponibles dans l’admin.
2. Ajouter une taxonomie personnalisée
Explication :
- Permet d’organiser vos CPT en catégories hiérarchiques.
3. Créer un rôle utilisateur personnalisé
Explication :
- Définit un rôle avec des permissions limitées.
- Utile pour limiter l’accès à certaines sections de WordPress.
4. Enregistrer un script JavaScript
Explication :
Prépare un script à utiliser ensuite avec wp_enqueue_script.
5. Redirection conditionnelle d’un rôle
Explication :
- Vérifie si l’utilisateur a un rôle spécifique.
- Redirige avant le rendu de la page grâce à init.
6. Ajouter une variable globale personnalisée
Explication :
- Permet de créer des variables accessibles sur toutes les pages du site.
7. Créer un shortcode dynamique
Explication :
- Crée un shortcode [bonjour nom= »Alice »] pour le contenu des pages et articles.
8. Ajouter un menu personnalisé
Explication :
- Permet de définir plusieurs menus utilisables par votre thème WordPress.
Bonnes pratiques pour init
- Séparer front-end et back-end :
- Ne pas mettre de code lourd ou lent sur init.
- Définir la priorité si plusieurs fonctions utilisent init.
- Utiliser exit; après une redirection pour stopper le chargement.
Conclusion
Le hook WordPress init est un pilier du développement sur WordPress. Maîtriser ce hook, c’est pouvoir intervenir tôt dans le cycle de vie de WordPress, préparer vos contenus personnalisés, gérer des rôles, enregistrer des scripts ou créer des shortcodes de manière propre et efficace.
Grâce aux nombreux exemples présentés dans cet article – types de contenu personnalisés, taxonomies, rôles, redirections, variables globales et shortcodes – vous disposez désormais des clés pour exploiter pleinement init dans vos projets WordPress.
Astuce pour aller plus loin : utilisez init intelligemment en séparant le code front-end et back-end, en respectant les priorités et en gardant votre code léger pour garantir la performance de votre site.
En résumé, comprendre et maîtriser le hook init vous permet d’optimiser, personnaliser et sécuriser votre site WordPress tout en préparant vos fonctionnalités avant le rendu des pages, ce qui est essentiel pour tout développeur sérieux.











