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()

Références officielles

Bouton retour en haut de la page