Tout ce que vous devez savoir sur les hooks WordPress
Publié: 2015-07-11Accro aux hooks WordPress ?
Il se passe beaucoup de choses sous le capot alors que WordPress s'efforce de rendre le composant nécessaire pour votre site Web. Chaque page est composée de plusieurs fonctions et requêtes de base de données. Le noyau WordPress et le thème fonctionnent ensemble pour produire du texte, des images, des feuilles de style et d'autres fichiers. Avec l'aide du navigateur, toutes ces pièces sont interprétées et rassemblées en une seule page Web. Les hooks permettent de personnaliser, d'étendre et d'améliorer WordPress.
Les hooks sont nommés de manière appropriée car nous pouvons littéralement « nous connecter » à WordPress pour récupérer, insérer ou modifier des données, ou effectuer d'autres tâches en coulisses. Dans un sens, nous « accrochons » notre code personnalisé à ces crochets. Comme nous le savons, modifier le noyau de WordPress n'est pas une bonne idée. Pour cette raison, les crochets d'action et les crochets de filtre dans WordPress sont le meilleur moyen de modifier les fonctionnalités existantes ou de créer de nouvelles fonctionnalités.
Types de crochets
Les crochets sont une partie nécessaire lors de la personnalisation. Il existe deux principaux types de crochets : les crochets d'action et les crochets de filtre. Chacun offre quelque chose de différent, il est donc important de comprendre quand utiliser lequel.
Un crochet ne peut pas être simplement jeté n'importe où ; il doit y avoir quelque chose à "accrocher". Avoir ce point d'exécution pour ce crochet est nécessaire. La bonne nouvelle est que tout au long du noyau de WordPress, il existe des crochets intégrés qui sont disponibles pour référence.

Pourquoi utiliser des crochets
Beaucoup de choses peuvent être modifiées avec les hooks car de nombreuses fonctions de base de WordPress utilisent des actions et des filtres. Comprendre les crochets est absolument nécessaire pour quiconque développe avec WordPress et pour les concepteurs qui souhaitent modifier WordPress ou le comportement du thème.
Crochets d'action
Les crochets d'action indiquent que quelque chose s'est produit, à ne pas confondre avec les événements eux-mêmes. Les actions sont déclenchées par des événements spécifiques qui se déroulent dans WordPress. Un exemple d'événement pourrait être des choses comme la publication d'un article, le changement de thème ou l'activation d'un plugin. Les actions vous permettent d'ajouter des fonctionnalités supplémentaires à un moment précis du traitement de la page. Les crochets d'action peuvent faire des choses comme :
- Modifier les données dans la base de données WordPress
- Modifier ce qui est affiché dans le navigateur
- Envoyer un e-mail lorsqu'un événement s'est produit
- Ajouter un widget, un menu ou un message personnalisé à la page

Exemple de crochet d'action
add_action( $hook, $function_to_add, $priority, $accepted_args );
Les paramètres requis de la fonction add_action sont le crochet et la fonction à ajouter. L'inclusion de la priorité est facultative. Avec une valeur entière basée sur une échelle de 1 à 999, ce nombre détermine l'ordre de priorité des fonctions pour ce hook spécifique. Vous n'en aurez peut-être pas besoin, mais le dernier paramètre est utilisé lorsque vous devez transmettre ou accepter plusieurs arguments.
Jetons un coup d'œil à un crochet d'action de base :
// This is the function, name it accordingly
function custom_welcome_text() { ?>
<div class="optional-custom-class">Hello WordPress!</div>
<?php }
// Action function that outputs the function above into the theme hook
add_action( 'welcome_hook', 'custom_welcome_text', 5 );
Ce crochet de base ajoutera "Hello WordPress" en haut de la page. Il a une priorité de 5. Les nombres inférieurs correspondent à une exécution antérieure. Par défaut, il est défini sur 10, donc cet exemple s'exécute avant la valeur par défaut.

Crochets de filtre
Passons en revue un scénario courant et comment les crochets de filtre entrent en jeu. Pensez à toutes les fois que vos utilisateurs visitent votre site et qu'un message se charge pour eux de le lire. Dans le cadre du cycle de vie de la page WordPress, WordPress interroge la base de données pour ce message, puis il est renvoyé au navigateur, prêt à être lu par l'utilisateur. Tout cela semble simple, mais avant que le contenu ne soit servi, WordPress exécute les données à travers tous les filtres qui ont été établis. Ces crochets de filtre peuvent facilement être créés en cas de besoin.
Pensez-y de cette façon : les actions sont déclenchées par des événements spécifiques, mais les filtres permettent l'interception et la modification des données au fur et à mesure de leur traitement. Les crochets de filtre sont utilisés lorsque vous devez intercepter, gérer ou renvoyer des données avant de les restituer au navigateur ou d'enregistrer des données du navigateur dans la base de données. Par exemple, vous souhaiterez peut-être insérer une autre classe CSS dans un élément HTML WordPress ou enregistrer des types de champs méta supplémentaires. Les deux peuvent être exécutés avec un hook de filtre.

Les filtres se situent entre la base de données et le navigateur lorsque WordPress génère des pages. En outre, ils se situent entre le navigateur et la base de données lorsque WordPress ajoute de nouveaux messages et commentaires à la base de données. Pour cette raison, les crochets de filtre peuvent faire des choses utiles comme :
- Ajouter des données à la base de données ou envoyer à l'écran du navigateur
- Manipulez les données sortant de la base de données avant qu'elles n'entrent dans le navigateur ou provenant du navigateur avant d'entrer dans la base de données.
Exemple de hook de filtre
Dans l'exemple ci-dessous, nous allons voir comment un crochet de filtre fonctionne sur le contenu. Ce hook est déclenché juste avant que le contenu ne soit utilisé, mis dans la base de données ou rendu par WordPress pour une visualisation à l'écran. Cela modifie les données lorsque le hook de filtre est déclenché.
La fonction add_filter est ce dont nous avons besoin pour nous connecter à un filtre. Les arguments peuvent vous sembler familiers, le add_filter est le même que celui de add_action . Passons maintenant au filtre WordPress the_content, qui est appelé avant l'affichage de tout contenu de publication. Dans cet exemple simple, le filtre nous permettra d'ajouter une note de copyright à chaque publication. À ce stade, les filtres agiront sur les données qui leur sont transmises.
add_filter( 'the_content', 'add_copyright_notice' );
function add_copyright_notice( $content )
{
return $content . " <br>This content is copyrighted.";
}
Veuillez noter que lorsque vous utilisez un filtre, vous devez toujours retourner quelque chose ou les choses se cassent.
Ajouter des crochets à un thème
Lorsque vous ajoutez des crochets et des filtres au thème, assurez-vous que vous travaillez dans un thème enfant. La raison principale est que si vous travaillez dans le thème parent, ces modifications pourraient être écrasées en cas de mise à jour des fichiers de thème.
J'espère que vous comprenez mieux les crochets, ce qu'ils peuvent faire et comment ils peuvent vous aider. Les crochets peuvent être très simples, très complexes ou quelque part entre les deux. Une fois que vous avez les concepts de base, vous serez accro en un rien de temps.
