Publié le : 26/04/2021

Utilisation du Filter Hook dans WordPress

Les Filters Hooks dans WordPress

Le Filter Hook dans WordPress est une des fonctionnalités les plus puissantes que WordPress nous propose. Il nous permet d’avoir une grande flexibilité quand on va effectuer des développement (développement de Plugins ou de Thèmes). Sur Internet, nous pouvons trouver différents exemples qui va nous permettre de personnaliser des thèmes ou des plugins de WordPress et qui va nous montrer comment utiliser le filter hook dans WordPress mais ici , nous allons montrer rapidement comment il fonctionne et comment on l’utilise.

Quand on va utiliser les Filters Hooks dans WordPress, nous allons utiliser les quatre fonctions suivantes :

  • add_filter : utilisé pour ajouter des filtres personnalisé ;
  • remove_filter : utilisé pour supprimé les filtres ajouter par la fonction ci-dessus ;
  • apply_filter : exécute les actions qui sont spécifié par les filtres ;
  • has_filter : vérifie si un filtre existe.

Filter Hook c’est quoi ?

Pour faciliter la compréhension, le filter hook dans WordPress peut être assimilé à la méthode de modifier les données.

Illustration de l’utilisation du Filter Hook dans WordPress

Prenons par exemple ces exemples de liste de langage de programmation :

  • Java ;
  • PHP ;
  • Python ;
  • C# ;
  • Go.

Cette liste des langages de programmation peut être affichée dans une page WordPress de la manière suivante :

function afficher_langage_developpement(){
    $langage_developpement = array(
        "Java",
        "PHP",
        "Python",
        "C#",
        "Go"
    );
    $list_langage_developpement = "<ul>";
    foreach($langage_developpement as $developpement):
        $list_langage_developpement = "<li>" . $developpement . "</li>";
    endforeach;
    $list_langage_developpement = "</ul>";
    return $list_langage_developpement;
}
echo afficher_langage_developpement();

Avec ce code, comment est-ce qu’on peut modifier la liste des fruits affichée par l’intermédiaire d’un plugin ?

Pour ce faire, premièrement, nous avons besoin de mettre à jour notre fonction mentionné ci-dessous pour inclure le filtre. Ci-dessous le code qui représente ce changement

function afficher_langage_developpement(){
    $langage_developpement = array(
        "Java",
        "PHP",
        "Python",
        "C#",
        "Go"
    );
    $list_langage_developpement = "<ul>";
    if(has_filter('ajouter_langage_programmation)){
        $langage_developpement = apply_filters('ajouter_langage_programmation',$langage_developpement);
    }
    foreach($langage_developpement as $developpement):
        $list_langage_developpement = "<li>" . $developpement . "</li>";
    endforeach;
    $list_langage_developpement = "</ul>";
    return $list_langage_developpement;
}
echo afficher_langage_developpement();

Dans le code ci-dessus, nous avons ajouter la fonction has_filter pour vérifier si le filtre ajouter_langage_programmation existe. S’il existe, nous allons appliquer notre filtre à notre tableau langage_developpement.

Qu’est ce qui se passe alors quand on va appliquer notre filtre ajouter_langage_programmation ? Cela dépendra de ce que nous voulons avoir. Par exemple, nous pouvons supprimer des langages de développement en fonction de certains conditions. Mais pour notre exemple, nous allons ajouter les langages de développement suivant : Javascript, Typescript, Angular, VueJS.

Deuxièmement, nous allons ajouter notre filtre avec le code ci-dessous :

add_filter("ajouter_langage_programmation",function($langage_developpement){
    $extra_langage_developpement = array(
        "Javascript",
        "Typescript",
        "Angular",
        "VueJS",
    );
    return array_merge($extra_langage_developpement,$langage_developpement);
});

Notre tableau de langage de développement qui a été défini dans la fonction afficher_langage_developpement a été passée en paramètre dans notre filtre. Ainsi, avec ce tableau de langage de développement, nous pouvons faire les manipulations que l’on veut. Ici nous avons ajouté de nouvelles langages. Ainsi notre tableau de langage de développement devient :

  • Java ;
  • PHP ;
  • Python ;
  • C# ;
  • Go ;
  • Javascript ;
  • Typescript ;
  • Angular ;
  • VueJS.

Conclusion

Nous avons vu comment utiliser les filter hook dans WordPress. Une autre fonctionnalité des hooks est l’action hook. Nous l’étudierons dans un autre article.

Les mots clés rattachés à cet article : Développement  -  Développeur  -  Wordpress

Nos clients

Une vingtaine de clients nationaux et internationaux