has_filter()
Définition : has_filter() indique si un filtre WordPress possède des callbacks enregistrés. Lorsqu’un callback est fourni, elle renvoie sa priorité ou false ; cette distinction exige une comparaison stricte pour identifier correctement une priorité nulle.
Terminologie
Terme : has_filter()
Autres appellations : Vérifier un filtre
À quoi cela sert
Cette fonction inspecte les registrations actuelles du hook. Elle ne déclenche pas le filtre et ne renseigne pas la valeur qu’il produira. Sans callback spécifique, le résultat est booléen ; avec callback, le retour peut être un entier de priorité.
Dans quel contexte l’utiliser
L’utiliser pour diagnostiquer une modification inattendue de texte, vérifier la présence d’un traitement connu ou décider si un filtre particulier doit être retiré.
Exemple concret
Un site soupçonne une extension de modifier the_content ; le développeur vérifie si son callback nommé est effectivement présent.
Exemple de code commenté
<?php
function atoolpha_demo_corps( $contenu ) {
return $contenu;
}
add_filter( 'the_content', 'atoolpha_demo_corps', 10 );
$priorite = has_filter( 'the_content', 'atoolpha_demo_corps' );
if ( false === $priorite ) {
// Aucun callback correspondant n’est actuellement inscrit.
}
Explication de l’exemple
La priorité réelle est récupérée puis comparée strictement à false pour distinguer une inscription valide de l’absence du filtre. Aucune modification de contenu n’est provoquée par ce contrôle.
Précautions et limites
Un filtre enregistré peut ne jamais être exécuté dans un contexte donné ; sa seule présence n’explique pas nécessairement le rendu observé.
Termes associés
- add_filter()
- remove_filter()
- doing_filter()
