doing_filter()
Définition : doing_filter() indique si un filtre WordPress est en cours d’application dans la pile des hooks, même lorsqu’il appelle lui-même d’autres hooks. Elle aide à analyser les enchaînements imbriqués sans modifier les données filtrées.
Terminologie
Terme : doing_filter()
Autres appellations : Filtre en cours
À quoi cela sert
La fonction vérifie les filtres en cours et accepte un nom optionnel. Elle renvoie un booléen. Dans le moteur interne de WordPress, actions et filtres partagent des mécanismes de pile ; un test de contexte n’établit pas à lui seul le type de l’opération métier.
Dans quel contexte l’utiliser
L’utiliser en débogage pour expliquer des transformations déclenchées indirectement, par exemple lorsque le rendu d’un article appelle des filtres supplémentaires. Ne pas l’utiliser comme substitut à une architecture claire.
Exemple concret
Un outil de diagnostic veut distinguer un appel de fonction effectué pendant the_content d’un autre contexte de rendu.
Exemple de code commenté
<?php
function atoolpha_demo_analyse_contexte() {
if ( doing_filter( 'the_content' ) ) {
// Ce code est appelé pendant une application de the_content.
return 'contenu_en_cours';
}
return 'autre_contexte';
}
Explication de l’exemple
La vérification signale si the_content figure dans la pile de hooks. On évite ici de produire une sortie ou de changer le contenu ; un appel peut être imbriqué.
Précautions et limites
La pile reflète la requête courante, pas l’historique du site. Un résultat false ne prouve pas qu’un filtre ne sera jamais appliqué.
Termes associés
- Filter
- doing_action()
- current_action()
