Guide du débutant sur les actions et filtres de WordPress

Lorsqu'il s'agit de développement professionnel WordPress, il est impératif que les développeurs comprennent à la fois les actions et les filtres - autrement dit, il est important de comprendre les points d'ancrage de WordPress..

Autrement dit, les points d'ancrage sont ce qui nous permet de personnaliser, d'étendre et d'améliorer WordPress via une API dans nos thèmes, plugins et autres efforts de développement personnalisés..

Le problème est que ces deux fonctionnalités de WordPress - sans doute les aspects les plus importants du développement pour la plate-forme - sont soit largement mal comprises, soit complètement ignorées..

Dans cet article, nous allons examiner le cycle de vie d'une page WordPress, comprendre le fonctionnement des points d'ancrage et passer en revue les différences entre les actions et les filtres afin que nous puissions non seulement devenir de meilleurs développeurs de thèmes et / ou de plugins, mais aussi avoir: une compréhension plus profonde du fonctionnement de WordPress.

Remarque: Cet article s'adresse spécifiquement aux débutants. Par conséquent, si vous êtes un développeur expérimenté, vous aurez peut-être un peu de recul. cependant, si vous sont débutant, n'hésitez pas à laisser des questions dans la zone de commentaires à la fin du post.


Le cycle de vie d'une page WordPress

Avant de commencer à parler des points d'ancrage WordPress, il est important de comprendre le fonctionnement du cycle de vie d'une page WordPress..

Un cycle de vie de page n'est rien de plus qu'une combinaison d'événements qui se produisent entre le moment où un navigateur demande une page et le moment où le serveur renvoie la page au navigateur..

Disons, par exemple, que vous chargez une seule page. Ensuite, à un niveau élevé, WordPress fera quelque chose comme:

  • Regardez l'ID de page demandé
  • Interroger la base de données pour la page par son ID
  • Interrogez la base de données pour toutes les données associées (telles que les catégories, les balises, les images, etc.)
  • Interroger la base de données pour les commentaires qui lui sont associés
  • Revenir tout des données au navigateur

Les fichiers de gabarit et les appels aux fonctions API sont ensuite chargés du rendu, du style et du positionnement des données sur l'écran..

Cela semble simple, mais si vous pensez à certains des blogs les plus complexes que vous lisez, ou même au travail que vous avez effectué, vous pouvez commencer à comprendre à quel point ce processus peut être intensif..

Bien sûr, ceci est également au niveau le plus simpliste. Cela n'inclut aucun mécanisme de mise en cache ni aucun des sujets avancés que d'autres discutent souvent lors de la construction de projets WordPress..

Rarst, le développeur WordPress le plus connu - le gars derrière queryposts.com - a mis au point un graphique relativement détaillé illustrant la charge de base de WordPress:

Faire ne pas être découragé si vous ne pouvez pas suivre le schéma ci-dessus. Je l'ai placé ici simplement comme référence. Le but ultime de cette session est que, à la fin, tous les développeurs soient capables de le comprendre..

Cela dit, voici l'essentiel à comprendre sur les points d'ancrage pendant le cycle de vie du chargement de page WordPress:

Alors que WordPress exécute sa série de requêtes et s’apprête à restituer les données au navigateur, il examine tous les points d'ancrage personnalisés, c'est-à-dire les actions et les filtres, qui ont été écrits et transmettent des données à travers ces filtres avant de renvoyer les données à le navigateur.

À ce stade, il est important de définir les points d'ancrage et d'examiner les différences entre les actions et les filtres et leur rôle dans ce cycle de vie..


Tout sur les crochets

Les points d'ancrage WordPress font référence à deux choses: les actions et les filtres. Si vous examiniez les articles du Codex sur les points d'ancrage, vous ne verriez qu'une courte page renvoyant aux références des actions et des filtres. C'est exactement ce que cela devrait être aussi, parce que c'est quels sont les crochets.

Alors, voici comment penser à cela:

Les points d'ancrage nous permettent littéralement de nous accrocher à des parties du cycle de vie d'une page WordPress pour récupérer, insérer ou modifier des données, ou encore de prendre certaines mesures en arrière-plan..

Assez cool, droit?

Mais il y a deux choses à comprendre à ce sujet:

  1. Les actions sont différentes des filtres.
  2. Vous ne pouvez pas simplement lancer un crochet dans un point d'exécution arbitraire. Il y a des moments pendant lesquels certains crochets tirent et des moments optimaux pour que vous puissiez en tirer parti.

Cela dit, définissons d’abord les actions et les filtres, puis nous verrons quand déclencher quoi.


Prendre part

Alors, quelles sont les actions? La définition la plus simple est la suivante: les actions indiquent que quelque chose est arrivé. C'est tout. Mais à quoi sert cette définition? Et comment ne pas confondre cela avec les événements?

Voici comment je le tiens droit:

Les actions sont des événements du cycle de vie d'une page WordPress lorsque certaines choses se sont produites: certaines ressources sont chargées, certaines installations sont disponibles et, en fonction du délai de l'action, certaines choses doivent encore être chargées..

Depuis que nous avons discuté de la vie de la page WordPress, les actions sont fondamentalement des points au cours de la vie dans lesquels vous pouvez introduire vos propres fonctionnalités..

Cela signifie que vous avez la possibilité de faire quelque chose pendant le chargement d'une page.

Le Codex fournit un génial ressource sur les actions intégrées à WordPress ainsi que sur l'ordre dans lequel elles sont déclenchées. Créez un signet, consultez-le souvent et apprenez-le.

Il est fondamental d'apprendre à utiliser WordPress à certains moments de son exécution et de Doing It Right ™.

Exemple typique: je vois souvent des développeurs s’accrocher au init action beaucoup trop souvent. Bien sûr, il y a un temps pour faire cela. Mais dites que vous vouliez faire quelque chose juste avant d'obtenir les messages. Il serait alors logique d'utiliser le pre_get_posts accrocher plutôt que init, droite?

C'est pourquoi il est important de comprendre les actions.


Filtrer toutes les choses

Les filtres, en revanche, sont complètement différents des actions. Comme les actions, ce sont des points similaires qui se produisent pendant le cycle de vie d'une page WordPress; Cependant, ce qu'ils faire est différent.

Voici comment je définis les filtres:

Les filtres sont des fonctions par lesquelles WordPress transmet des données à certains moments du cycle de vie d'une page. Ils sont principalement responsables de l’interception, de la gestion et de la restitution des données avant de les restituer au navigateur ou de leur sauvegarde dans la base de données..

Supposons un instant qu'un visiteur du site est sur le point de charger un message. D'après ce que nous comprenons du cycle de vie d'une page WordPress, WordPress va interroger la base de données pour cette publication, puis la renvoyer au navigateur. Avant de faire cela, cependant, il va exécuter les données à travers les filtres qui ont été établis.

À ce stade, les filtres agissent sur les données qui leur sont transmises. Par exemple, supposons que vous vouliez ajouter une courte phrase sur l'auteur à la fin du contenu. Pour ce faire, vous devez enregistrer une fonction personnalisée avec le contenu filtrer et ajouter votre phrase au contenu.

Comment faire cela dépasse le cadre de cet article, mais nous visons à couvrir cela dans un futur article de la session..

Tout comme pour les actions, le Codex propose une liste complète des filtres disponibles. Et pareillement, Créez un signet, consultez-le souvent et apprenez-le.

Une fois que vous avez une solide connaissance des filtres, vous pouvez alors commencer à manipuler la récupération et la sérialisation des données en effectuant Doing It Right ™ plutôt qu'en contournant l'API WordPress. Il fournit un moyen puissant et très facile de manipuler des données..

C'est pourquoi il est important de comprendre les filtres.


Mais quand est-ce que je… ?

À ce stade, la question inévitable se pose toujours.

Quand dois-je utiliser quel crochet?

Et voici le conseil que je donne normalement:

  • Utilisez des actions lorsque vous souhaitez ajouter quelque chose à la page existante, telle que des feuilles de style, des dépendances JavaScript, ou envoyer un courrier électronique lorsqu'un événement s'est produit..
  • Utilisez des filtres lorsque vous souhaitez manipuler des données provenant de la base de données avant de passer au navigateur ou du navigateur avant d'entrer dans la base de données..

C'est tout! Assez facile, j'espère.


Conclusions

À ce stade, je vous recommande vivement de consulter les ressources suivantes:

  • L'API de plugin qui fournit également des informations utiles pouvant être utilisées dans le développement de thèmes.
  • La référence de l'action
  • La référence du filtre

Nous prévoyons de continuer à publier plusieurs articles dans la session pour accompagner cet article, ainsi que l'article de Pippin sur les plugins extensibles. Assurez-vous donc de rester à l'écoute de cette session pour plus d'informations sur les points d'ancrage..