Comprendre le fonctionnement des hooks dans WordPress (part 2)
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 cet article vous a aidé, si vous avez des questions ou des améliorations à proposer, n'hésitez pas à me laisser un commentaire en bas de page !