remove_filter()

Définition : remove_filter() désinscrit un callback attaché à un filtre WordPress. Elle permet de neutraliser une transformation déjà enregistrée, si le nom du filtre, l’identité du callback et sa priorité correspondent exactement à l’inscription initiale.

Terminologie

Terme : remove_filter()

Autres appellations : Supprimer un filtre

À quoi cela sert

Le moteur retire uniquement l’écouteur ciblé : les autres filtres continuent de s’appliquer et la valeur continue de circuler. La fonction retourne true si un callback correspondant a été supprimé, false sinon. L’identité des fermetures anonymes rend leur retrait plus difficile sans référence conservée.

Dans quel contexte l’utiliser

S’en servir pour retirer une règle de présentation incompatible ou remplacer une transformation connue. Le retrait doit intervenir à un moment où le callback existe déjà, mais avant l’application que l’on souhaite influencer.

Exemple concret

Une extension supprime une transformation de titre qu’elle avait elle-même enregistrée lors d’une phase de configuration.

Exemple de code commenté

<?php
function atoolpha_demo_prefixe( $titre ) {
    return '[Démo] ' . $titre;
}
add_filter( 'the_title', 'atoolpha_demo_prefixe', 15 );
// Lors d’une phase de configuration après cet enregistrement :
$retire = remove_filter( 'the_title', 'atoolpha_demo_prefixe', 15 );

Explication de l’exemple

Le même callback nommé est passé à add_filter puis à remove_filter. Le résultat du retrait est un booléen ; il peut être utilisé pour diagnostiquer si la transformation a été effectivement désinscrite.

Précautions et limites

Ne pas confondre remove_filter() avec remove_all_filters(), beaucoup plus large ; supprimer un callback tiers peut changer le comportement attendu d’un site.

Termes associés

  • add_filter()
  • remove_action()
  • has_filter()

Références officielles

Bouton retour en haut de la page