Dans mon dernier billet, jrsquoai expliqué comment filterwpquery obtient getter et Setter pour cet objet.
Getposts () manque actuellement une méthode pour exécuter la méthode Setter avant drsquoutiliser content getter. Crsquoest à ça que servent les actions. Donc, ma première étape est drsquoactiver une action avant de récupérer le Programme drsquoacquisition de contenu afin que nous puissions appeler le Setter de lrsquoévénement: maintenant nous diffusons lrsquoévénement. Nous avons besoin drsquoun système qui utilise lrsquoimplémentation par défaut pour se connecter et répondre, mais qui peut être modifié par un plug in. Nous avons commencé par lui demander de faire la même chose afin que nous puissions prouver qursquoelle fonctionnait encore dans nos tests. Ensuite, nous ajouterons un filtre pour le rendre extensible.
Ma prochaine étape consiste à introduire une classe pour contrôler les modèles de recherche. Jrsquoappelle ça
Dans le deuxième test, jrsquoai créé une requête fictive WP _ rest en utilisant mockry. Ceci est nécessaire car les tests unitaires de ce plugin ne chargeront pas WordPress. Jrsquoai appris à le faire avec lrsquoarticle de Tonya sur la moquerie. Crsquoest un de mes outils et je vais en utiliser plus. Il n’y a pas de moyen facile de simuler, c’est pourquoi j’utilise souvent uniquement la suite de Test wordpress, en utilisant l’environnement WordPress au lieu de t
Test toutes les minutes. Il est bon de les séparer comme ce plug in d’exemple, mais il n’est pas extensible de créer une simulation pour chaque classe WordPress. Ajouter un filtre maintenant que nous avons cette classe, rendons la extensible. Crsquoest notre but. Vérifions ça.
Dans ma prochaine soumission, jrsquoai ajouté un filtre qui, srsquoil est nul, utilise ce routeur interne. Srsquoil srsquoagit drsquoune entrée valide, elle est retournée. Je lrsquoai prouvé par des tests drsquointégration. WordPress Core utilise ce modèle de filtre de retour précoce. Ce modèle utilise des filtres pour bloquer sélectivement le comportement par défaut. rien ne change les résultats valides retournés par le module filtre vide, le comportement de base par défaut est exécuté, et si sa sortie valide est ignorée. Dans le premier article de cette série, jrsquoai écrit comment posts _ pre Query agit comme un filtre de retour précoce pour les requêtes réelles de la base de données WP query. Nous utilisons ce filtre pour fournir les résultats des requêtes wp U.
Voici une classe de schéma reconstruite avec un nouveau filtre: Notez que le nom du filtre est défini par une constante de classe. Cela facilite la synchronisation des noms de filtres à plusieurs endroits. Jrsquoaime le faire, mais si la classe interagit avec plusieurs crochets, elle ne Redimensionne pas et jrsquoessaie drsquoéviter de le faire, mais je ne peux pas toujours le faire. Un des endroits où jrsquoutilise cette constante est dans les tests pour prouver que le filtre est correctement court circuité à la logique par défaut. Jrsquoai utilisé des tests drsquointégration plutôt que des tests unitaires pour le prouver. Jrsquoai choisi cette stratégie au lieu drsquoutiliser la simulation pour tester, parce qursquoelle montre comment les éléments de base de la mise en oeuvre des add ons fonctionnent. Bien que les tests ne remplacent pas la documentation, ils peuvent souvent servir drsquoexemple de la façon dont le code devrait être utilisé.
Ce type de test integraz
WordPress Advanced OOP Part 9: extensible plugins Using WordPress API plug in