À ce stade de la série, nous sommes prêts à compléter notre plugin en documentant nos fichiers, classes, fonctions, variables, etc..
Bien que ce soit la dernière étape pour terminer le plug-in, ce n'est pas le dernier article de la série, car nous allons continuer à examiner quelques sujets avancés en programmation orientée objet..
Mais avant cela, mettons notre plugin à la version 1.0 en mettant en pratique tout ce que nous avons appris dans l'article précédent..
Bien sûr, comme avec tout Dans les articles précédents, je vous recommande de revenir sur tout ce que nous avons couvert jusqu'à présent pour que vous soyez parfaitement au courant non seulement du travail que nous avons effectué dans le dernier article, mais également de la manière dont nous en sommes arrivés aux derniers points. discutons dans cet article.
Avec tous ceux qui sont couverts et examinés, commençons par documenter chacun de nos fichiers..
Nous pouvons documenter ce plugin de différentes manières:
De toute évidence, l'option produira plus de documentation par section, mais devrait donner un article beaucoup moins fastidieux et une compréhension beaucoup plus facile du flux de contrôle de l'ensemble du plugin..
À cette fin, nous allons parcourir le plug-in, fichier par fichier, en introduisant la documentation de chaque morceau de code que nous avons, puis nous discuterons des points d'intérêt après le code..
Enfin, nous nous assurerons de nous référer à la version finale du plugin à la fin de l'article. Cela dit, commençons.
Rappelons que le fichier principal pour démarrer le plugin est le fichier single-post-meta-manager.php situé à la racine du répertoire du plugin..
Voici à quoi ressemble la version entièrement documentée du fichier. Lisez attentivement chaque commentaire en portant une attention particulière au format qu'il suit, mais également au contenu qu'il fournit..
courir(); // Appelez la fonction ci-dessus pour commencer l'exécution du plugin. run_single_post_meta_manager ();
Dans le code ci-dessus, notez que nous avons défini un en-tête de fichier conformément aux conventions décrites dans l'article précédent. Nous avons également conservé les balises d'en-tête de plug-in requises afin que WordPress puisse les lire correctement..
Notez que, dans ce cas, nous les avons inclus dans un programme personnalisé. @ wordpress-plugin
étiquette. Ceci n'est pas obligatoire mais permet de séparer les commentaires d'en-tête de fichier des commentaires requis par le plugin..
Enfin, notez que nous avons modifié la version de ce plugin à 1,0
, et nous avons également donné ce plugin le @paquet
valeur de SPMM
qui manque de Meta Manager Single Post. Nous allons l'utiliser tout au long du plugin.
comprend
AnnuaireEnsuite, tournons notre attention vers tous les fichiers situés dans le répertoire includes.
Puisque ces fichiers sont nécessaires avant tout dans le répertoire admin, il est logique d'examiner chacun de ces fichiers individuellement, puis de compléter notre discussion avec les fichiers restants dans le répertoire admin..
plugin_slug = 'single-post-meta-manager-slug'; $ this-> version = '1.0.0'; $ this-> load_dependencies (); $ this-> define_admin_hooks (); / ** * Importe les classes d'administration Single Post Meta et Single Post Meta Loader. * * La classe d'administration Single Post Meta Manager définit toutes les fonctionnalités uniques pour * introduire des fonctionnalités personnalisées dans le tableau de bord WordPress. * * Single Post Meta Manager Loader est la classe qui coordonnera les points d'ancrage et les rappels * à partir de WordPress et du plug-in. Cette fonction instancie et définit la référence à la propriété de classe * $ loader. * * @access private * / fonction privée load_dependencies () require_once plugin_dir_path (nomrépertoire (__FILE__)). 'admin / class-single-post-meta-manager-admin.php'; require_once plugin_dir_path (__FILE__). 'class-single-post-meta-manager-loader.php'; $ this-> loader = new Single_Post_Meta_Manager_Loader (); / ** * Définit les fonctions de hook et de rappel utilisées pour configurer les feuilles de style du plugin * et la méta-boîte du plugin. * * Cette fonction s'appuie sur la classe d'administration Single Post Meta Manager et sur la propriété de classe Single Post Meta Manager * Loader. * * @access private * / fonction privée define_admin_hooks () $ admin = new Single_Post_Meta_Manager_Admin ($ this-> get_version ()); $ this-> loader-> add_action ('admin_enqueue_scripts', $ admin, 'enqueue_styles'); $ this-> loader-> add_action ('add_meta_boxes', $ admin, 'add_meta_box'); / ** * Met cette classe en mouvement. * * Exécute le plugin en appelant la méthode d'exécution de la classe loader qui * enregistrera tous les hooks et fonctions de rappel utilisés dans le plugin * avec WordPress. * / fonction publique run () $ this-> loader-> run (); / ** * Renvoie la version actuelle du plug-in à l'appelant. * * @return string $ this-> version La version actuelle du plugin. * / public function get_version () return $ this-> version;
Clairement, il y a beaucoup de nouveaux commentaires qui ont été introduits dans ce fichier particulier; cependant, il devrait être très explicite sur ce que font chaque propriété de classe, le constructeur et les fonctions internes.
La chose la plus importante à noter - mis à part la manière dont les informations sont coordonnées à travers le plugin - est la manière dont nous avons adhéré aux normes définies dans l'article précédent..
Notez cependant que nous avoir pris la liberté si ne pas en utilisant certaines balises et / ou fonctionnalités de la documentation quand elles ne sont pas pertinentes. C’est quelque chose que nous continuerons de faire tout au long de l’article..
actions = array (); $ this-> filters = array (); / ** * Enregistre les actions avec WordPress et les objets * respectifs et leurs méthodes. * * @param string $ hook Le nom du hook WordPress auquel nous enregistrons un rappel. * @param objet $ composant Objet contenant la méthode à appeler lors du déclenchement du hook. * @param string $ callback Fonction qui réside sur le composant spécifié. * / public function add_action ($ hook, $ composant, $ callback) $ this-> actions = $ this-> add ($ this-> actions, $ hook, $ composant, $ callback); / ** * Enregistre les filtres avec WordPress et les objets * respectifs et leurs méthodes. * * @param string $ hook Le nom du hook WordPress auquel nous enregistrons un rappel. * @param objet $ composant Objet contenant la méthode à appeler lors du déclenchement du hook. * @param string $ callback Fonction qui réside sur le composant spécifié. * / public function add_filter ($ hook, $ composant, $ callback) $ this-> filters = $ this-> add ($ this-> filtres, $ hook, $ composant, $ callback); / ** * Enregistre les filtres avec WordPress et les objets * respectifs et leurs méthodes. * * @access private * * @param array $ hooks Collection de hooks existants à ajouter à la collection de hooks. * @param string $ hook Le nom du hook WordPress auquel nous enregistrons un rappel. * @param objet $ composant Objet contenant la méthode à appeler lors du déclenchement du hook. * @param string $ callback Fonction qui réside sur le composant spécifié. * * @return array Collection de points d'ancrage enregistrés auprès de WordPress via cette classe. * / fonction privée add ($ hooks, $ hook, $ composant, $ callback) $ hooks [] = array ('crochet' => $ hook, 'composant' => $ composant, 'callback' => $ callback) ; retourne $ hooks; / ** * Enregistre tous les filtres et actions définis avec WordPress. * / fonction publique run () foreach ($ this-> filtre en tant que $ hook) add_filter ($ hook ['hook'], tableau ($ hook ['composant'], $ hook ['rappel']])); foreach ($ this-> actions en tant que $ hook) add_action ($ hook ['hook']], array ($ hook ['composant'], $ hook ['callback']));
Notez que cette classe est plus ou moins un composant essentiel du plugin dans la mesure où elle coordonne toutes les actions et les filtres utilisés dans le plugin. Ce plugin centralise l’enregistrement et la coordination des hooks utilisés dans le plugin..
Enfin, quand courir
est appelé, tous les points d'accrochage sont enregistrés auprès de WordPress. Par conséquent, lors du déclenchement du plug-in, il appelle chacune des actions et filtres enregistrés..
admin
AnnuaireÀ ce stade, nous sommes prêts à porter notre attention sur les fichiers situés dans le répertoire admin du plugin..
Bien que le fichier se compose de deux fichiers PHP, il se compose également d’un fichier CSS. Pour les besoins de cet article, nous n'allons pas documenter les fichiers CSS; cependant, le WordPress Codex Est-ce que définir la documentation pour cela.
Pour l’instant, continuons à documenter les classes et les fichiers qui existent dans le admin
annuaire.
La classe Administrateur Single Post Meta Manager a une seule responsabilité: définir la fonctionnalité de rendu de la méta-boîte et de ses styles pour le tableau de bord.
version = $ version; / ** * Met en file d'attente la feuille de style chargée de styliser le contenu de cette * méta-boîte. * / public function enqueue_styles () wp_enqueue_style ('single-post-meta-manager-admin', plugin_dir_url (__FILE__). 'css / unique-post-meta-manager-admin.css', array (), $ this- > version, FALSE); / ** * Enregistre la méta-boîte qui sera utilisée pour afficher toutes les méta-données post * associées à la publication en cours. * / fonction publique add_meta_box () add_meta_box ('single-post-meta-manager-admin', 'Single Post Meta Manager', tableau ($ this, 'render_meta_box'), 'post', 'normal', 'core' ) / ** * Requiert le fichier utilisé pour afficher l'interface utilisateur de la boîte à méta de publication. * / fonction publique render_meta_box () require_once plugin_dir_path (__FILE__). 'partiels / single-post-meta-manager.php';
Notez que la classe ci-dessus a très peu de détails fonctionnels. Principalement, la classe conserve une référence à la version du plugin, à la feuille de style utilisée pour styler la méta-boîte et à la fonction requise pour rendre la méta-boîte..
Rappelez-vous que tout cela est configuré dans le fichier de plug-in principal et dans le chargeur. Cela aide à dissocier la logique qui existe dans le plugin afin que chaque classe puisse se concentrer sur son objectif principal..
Bien sûr, la dernière partie du plugin s'appuie sur le fichier partiel contenant le balisage nécessaire à l'affichage de la boîte méta..
$ post_meta_value) ?>
Cela devrait être relativement explicite; cependant, pour être complet, notez que ce fichier prend l’identifiant de poste actuel (à travers l’utilisation du get_the_ID ()
fonction), lit les métadonnées de poste, puis effectue une itération en construisant un tableau qui affiche les clés et les valeurs.
À ce stade, nous avons terminé la mise en œuvre de notre plugin. De la mise en place des pratiques de programmation orientée objet à la documentation du code.
Vous pouvez récupérer la version finale du plugin sur GitHub; Cependant, nous poursuivrons notre discussion orientée objet sur quelques articles supplémentaires afin de pouvoir explorer quelques sujets plus avancés tels que l'héritage, l'abstraction et d'autres sujets..
En attendant, si vous avez des questions ou des commentaires sur le plugin, n'hésitez pas à les laisser dans les commentaires.!