Comprendre le fonctionnement des hooks dans WordPress (part 2)

Publié le 12 février 2017

Nous avons vu comment créer simplement des filtres et des actions avec les hooks natifs de wordpress, voyons maintenant comment déclarer de nouveaux hooks, passer des arguments à nos filtres et actions et comment désactiver des hooks existants.

Créez vos propres hooks avec apply_filters() ou do_action()

Que ce soit pour créer un nouveau filtre ou une nouvelle action, le fonctionnement est très similaire à un détail près : dans le cas des filtres, une valeur est obligatoirement passée à notre fonction (pour qu’elle la formate, justement !), tandis qu’une action n’aura pas systématiquement besoin d’argument.

Pour ajouter un nouveau filtre, nous utiliserons la fonction apply_filters(), et pour créer une nouvelle action, la fonction do_action().

Passer des arguments à notre fonction

A ce stade, on peut donc créer l’action de notre choix à un emplacement précis de notre script, on peut formater ce que l’on veut, ou on veut… mais mieux encore, nous pouvons passer des arguments à nos fonctions !

Dans ces exemples, on passe 2 arguments supplémentaires à nos fonctions ($arg1 et $arg2). Le nombre d’argument attendu doit être ajouté aux fonctions add_filter() et add_action().

Dans le cas d’un filtre, on passe obligatoirement une valeur comme argument, à laquelle on ajoute nos 2 arguments supplémentaires, soit 3 arguments au total.

Dans le cas d’une action, on ajoute nos 2 arguments supplémentaires, soit 2 arguments au total.

Supprimer un hook

Il peut être utile dans certains cas de supprimer les actions ou filtres attachés à un hook en particulier. Il faudra alors utiliser les fonctions remove_action() ou remove_filter().

Si l'article vous a aidé, vous pouvez m'offrir un café !

A lire ensuite

Cela pourrait vous intéresser

Quelques contenus proches du sujet pour prolonger la lecture.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Un café pour le blog ? Vous aimez ce que vous lisez ici ? Offrez-moi un café.