Hook Execution Order

Définition : Hook Execution Order correspond à l’ordre selon lequel WordPress déclenche ses hooks et exécute leurs callbacks. Cette chronologie dépend du cycle de chargement, des priorités et des appels imbriqués entre composants.

Terminologie

Terme : Hook Execution Order

Autres appellations : Ordre des hooks, Chronologie d’exécution

À quoi cela sert

Il existe deux niveaux à distinguer : l’ordre des hooks eux-mêmes, fixé par les chemins d’exécution du Core, et l’ordre des callbacks à l’intérieur d’un hook, contrôlé par leurs priorités. Certains chemins comme AJAX, administration ou REST n’empruntent pas exactement les mêmes étapes.

Dans quel contexte l’utiliser

Utiliser la chronologie pour décider où déclarer des contenus personnalisés, charger les ressources ou lire les informations d’un utilisateur. Avant de déplacer un traitement, vérifier quel contexte exécute réellement le hook et si les API attendues sont prêtes.

Exemple concret

Une extension doit enregistrer un type de contenu sur init plutôt que d’essayer de le déclarer pendant le rendu du pied de page.

Exemple de code commenté

<?php
// Déclaration suffisamment tôt pour être disponible à la requête.
add_action( 'init', function () {
    register_post_type( 'atoolpha_notice', array(
        'label'  => 'Notices',
        'public' => false,
    ) );
}, 10 );

Explication de l’exemple

Le callback placé sur init intervient avant la préparation du rendu normal, de sorte que le type peut être reconnu pendant le traitement des requêtes. Le code illustre le choix d’un bon point de cycle, pas une garantie de tous les contextes.

Précautions et limites

Ne pas présenter un unique ordre de hooks comme universel : les requêtes HTTP, les tâches planifiées, l’administration et les outils en ligne de commande ont des chemins spécifiques.

Termes associés

  • Hook Priority
  • plugins_loaded
  • init
  • wp_loaded

Références officielles

Bouton retour en haut de la page