50 filtres de WordPress une introduction aux filtres

WordPress est une plate-forme incroyable et le système de gestion de contenu le plus populaire au monde. La raison de ce titre est en raison de son extensibilité. Dans cette série, nous allons en apprendre davantage sur les filtres - un des meilleurs moyens d'étendre WordPress.

Dans la base de cette fonctionnalité se trouve crochets - filtres et actions de WordPress. Sans eux, nous ne pourrions pas tirer parti de la nature extensible de WordPress..

Dans cette série, nous allons en apprendre davantage sur les filtres, un des meilleurs moyens d'étendre WordPress. Ce sera une série en sept parties qui se concentre sur:

  • la définition des filtres WordPress et une introduction sur leur utilisation (l'article que vous lisez actuellement),
  • cinq articles sur un total de 50 filtres WordPress (10 dans chaque article) avec des exemples
  • et un article "récapitulatif" récapitulant l'explication des filtres et les 50 exemples.

Il y a littéralement des centaines de filtres WordPress dans le noyau et ces 50 exemples n'en seront qu'une partie (environ 10%), il pourrait donc y avoir un addendum si vous aimez la série et suggérez de nouveaux exemples de nouveaux filtres..

Quoi qu'il en soit, il est temps d'introduire les filtres WordPress. Commençons!

Qu'est-ce qu'un filtre WordPress??

Dans le Codex, les filtres sont définis comme suit:

Les filtres Ce sont des fonctions par lesquelles WordPress transmet les données, à certains moments de l’exécution, juste avant d’agir avec les données. Les filtres sont situés entre la base de données et le navigateur, et entre le navigateur et la base de données; la plupart des entrées et sorties dans WordPress passent par au moins un filtre. WordPress fait un peu de filtrage par défaut, et votre plugin peut ajouter son propre filtrage.

Donc, essentiellement, les filtres sont des fonctions faire des trucs aux données de votre site web avant WordPress le sort. UNE filtre est l'un des deux types de points d'ancrage dans WordPress - l'autre s'appelle actes qui fait l'objet d'une autre série d'articles.

Bien que le sujet paraisse compliqué, les filtres (et les actions) sont vraiment faciles à comprendre. J'étais aussi intimidé quand je les ai rencontrés pour la première fois, mais après avoir constaté à quel point ils étaient simples, j'ai appris à connaître des centaines de filtres et d'actions simplement en consultant le Codex ou en creusant le code principal..

Vous devriez certainement en savoir plus sur les centaines de filtres. Mais d'abord, vous devez savoir comment les utiliser.

Utiliser des filtres dans WordPress

Comme je l'ai dit, utiliser des filtres WordPress est assez facile. Il y a juste quelques fonctions de base à connaître et vous devez savoir ce que fait chaque filtre. (Pour être honnête, le plus difficile est d'apprendre tous les filtres mais, comme vous pouvez l'imaginer, vous ne pouvez pas apprendre tous les filtres à la fois, vous les apprenez quand vous en avez besoin.) 

Dans cette section, nous allons passer en revue quatre choses: 

  1. Créer une fonction de filtrage, 
  2. Accrocher à un filtre, 
  3. Supprimer une fonction d'un filtre, 
  4. Créer nos propres filtres.

Création d'une fonction de filtrage et raccordement à un filtre

Pour pouvoir utiliser les données transmises par le filtre, vous devez créer une fonction définissant le mode de lecture des données et le relier au filtre..

Disons que nous construisons un plugin pour supprimer les voyelles dans les titres des publications. Au lieu de dire "supprimer les voyelles dans mes titres de publication", vous dites "accrocher cette fonction (qui supprime les voyelles) au filtre de mes titres de publication".

Compliqué? Pas vraiment. Dans l'exemple ci-dessous, nous écrirons le code de la fonction qui supprime les voyelles de n'importe quoi:

La fonction prend la $ title string, supprime les voyelles et le retourne. Assez facile, non? Passons maintenant au niveau suivant et connectez-le à un filtre:

Remarquez la nouvelle fonction? Regardons add_filter () rapidement:

  • tag $ (obligatoire) - Le nom du filtre.
  • $ function_to_add (obligatoire) - Nom de la fonction à connecter au filtre..
  • $ priorité (optionnel) - Un entier pour spécifier quand notre fonction sera exécutée. La valeur par défaut est dix: La fonction sera exécutée plus tôt si vous la définissez à une valeur inférieure et si vous la définissez à une valeur supérieure.
  • $ shared_args (facultatif) - Un entier pour définir le nombre d'arguments acceptés par le filtre. La valeur par défaut est 1.

Supprimer un filtre

Nous pouvons également supprimer les fonctions attachées aux filtres. Pour ce faire, nous utilisons une fonction simple appelée remove_filter (). Voyons voir comment ça fonctionne:

Les paramètres sont presque les mêmes que add_filter ():

  • tag $ (obligatoire) - Le nom du filtre.
  • $ function_to_remove (obligatoire) - Nom de la fonction à supprimer.
  • $ priorité (facultatif) - La priorité de la fonction (telle que définie lors du premier raccordement de la fonction).

Il y a aussi une autre fonction appelée remove_all_filters () qui n'a que deux paramètres (tag $ et $ priorité) où vous définissez le nom du filtre et la priorité. Comme son nom l'indique, il supprime toutes les fonctions liées au filtre.

Créer vos propres filtres

Je me demande comment ces filtres sont créés? Il y a une fonction spéciale appelée apply_filters () qui est tout autour du code de base pour créer des centaines de filtres. Bien sûr, il peut être utilisé en dehors du noyau, ce qui signifie que nous pouvons aussi créer des filtres dans nos plugins et nos thèmes.. 

Voyons voir comment ça fonctionne:

  • tag $ (obligatoire) - Le nom de votre crochet de filtre.
  • $ valeur (obligatoire) - La valeur à modifier par les fonctions de filtrage raccordées via add_filter ().
  • $ var1, $ var2 et ainsi de suite (facultatif) - Paramètres de votre filtre (autant que vous le souhaitez). Les fonctions de filtrage peuvent utiliser ces paramètres mais ils ne peuvent pas être retournés par les fonctions.

Pensons à un exemple: imaginons que vous écriviez une fonction qui ne renvoie qu'une citation célèbre de Peter Griffin:

Si vous voulez laisser les gens filtre cette citation (et laissez le code de votre plugin seul), vous devez utiliser le apply_filters () fonctionner comme suit:
Ainsi, un autre développeur utilisant votre plugin peut jouer avec les données de votre fonction comme ceci:

Maintenant, chaque fois que le peter_griffin_quote () la citation de Peter sera légèrement modifiée sans que le développeur ne modifie votre fichier de plugin. Part de gâteau!

Si vous avez besoin d'informations supplémentaires sur ce sujet, vous devriez jeter un coup d'œil à un excellent tutoriel de Pippin Williamson sur Tuts + Code: "Écrire des plug-ins extensibles avec des actions et des filtres". Dans ce tutoriel, vous apprendrez à créer des filtres et des actions pour votre plugin ou votre thème..

Conclusion

Plus vous travaillez dessus, plus vous aurez de plaisir avec les filtres. Il y en a des centaines et apprendre chacun d'eux vous rapproche d'un gourou WordPress. Dans la prochaine partie de cette série, nous allons apprendre environ 10 filtres WordPress:

  1. login_errors
  2. comment_post_redirect
  3. allowed_redirect_hosts
  4. body_class
  5. lieu
  6. sanitize_user
  7. le contenu
  8. the_password_form
  9. les termes
  10. wp_mail_from

Je suis vraiment enthousiasmé par cette série et j'espère que vous l'apprécierez autant que moi. Si vous pensez pouvoir m'aider avec les tutoriels en suggérant plus de filtres et en demandant plus d'exemples, n'hésitez pas à me dire et à partager vos pensées en commentant ci-dessous. 

Et si vous avez aimé ce que vous avez lu dans cet article, n'oubliez pas de le partager.!

A bientôt dans le prochain tutoriel!