An diesem Punkt der Serie können wir unser Plugin abrunden, indem wir unsere Dateien, Klassen, Funktionen, Variablen und mehr dokumentieren.
Dies ist zwar der letzte Schritt, den wir zum Fertigstellen des Plugins tatsächlich machen müssen, aber es ist nicht der letzte Beitrag in der Serie, da wir uns weiterhin mit einigen fortgeschrittenen Themen der objektorientierten Programmierung beschäftigen werden.
Bevor wir das tun, bringen wir unser Plugin auf Version 1.0, indem wir alles, was wir im vorherigen Artikel gelernt haben, in die Praxis umsetzen.
Natürlich wie bei alles In früheren Artikeln empfehle ich, das, was wir bisher besprochen haben, nachzuholen. So sind Sie nicht nur mit der Arbeit, die wir im letzten Artikel geleistet haben, voll auf dem neuesten Stand, sondern auch mit der Frage, wie wir zu den letzten Punkten gekommen sind diskutieren in diesem Artikel.
Nachdem wir all diese Punkte behandelt und überprüft haben, können wir mit der Dokumentation unserer Dateien beginnen.
Es gibt verschiedene Möglichkeiten, dieses Plugin zu dokumentieren:
Natürlich bietet die Option mehr Dokumentation pro Abschnitt, sollte aber zu einem weniger langweiligen Artikel und einem viel einfacheren Verständnis des Kontrollflusses für das gesamte Plugin führen.
Zu diesem Zweck werden wir das Plugin Datei für Datei durcharbeiten, Dokumentation für jeden einzelnen Code, den wir haben, einführen, und dann werden wir alle interessanten Punkte besprechen, die dem Code folgen.
Abschließend stellen wir sicher, dass wir uns am Ende des Artikels auf die endgültige Version des Plugins beziehen. Nachdem dies gesagt ist, lasst uns anfangen.
Es sei daran erinnert, dass die Hauptdatei zum Starten des Plugins die Datei single-post-meta-manager.php ist, die sich im Stammverzeichnis des Verzeichnisses des Plugins befindet.
So sieht die vollständig dokumentierte Version der Datei aus. Lesen Sie jeden Kommentar aufmerksam und achten Sie dabei nicht nur auf das Format, das er folgt, sondern auch auf den Inhalt, den er bereitstellt.
Lauf(); // Rufen Sie die obige Funktion auf, um die Ausführung des Plugins zu starten. run_single_post_meta_manager ();
Beachten Sie im obigen Code, dass wir einen Dateiheader gemäß den Konventionen definiert haben, die wir im vorherigen Artikel beschrieben haben. Wir haben auch die erforderlichen Plugin-Header-Tags gepflegt, damit WordPress sie richtig lesen kann.
Beachten Sie, dass wir sie in diesem Fall in einen benutzerdefinierten Bereich aufgenommen haben @ WordPress-Plugin
Etikett. Dies ist nicht erforderlich, hilft jedoch, die Kommentare der Dateiheader von den erforderlichen Plugin-Kommentaren zu trennen.
Beachten Sie schließlich, dass wir die Version dieses Plugins aufgestockt haben 1,0
, und wir haben diesem Plugin auch das gegeben @Paket
Wert von SPMM
was ist kurz von Single Post Meta Manager. Wir werden dies im gesamten Plugin verwenden.
beinhaltet
VerzeichnisWenden wir uns als Nächstes auf alle Dateien, die sich im Include-Verzeichnis befinden.
Da diese Dateien vor allen Einträgen im Admin-Verzeichnis benötigt werden, ist es sinnvoll, jede dieser Dateien einzeln zu betrachten und unsere Diskussion mit den restlichen Dateien im Admin-Verzeichnis abzurunden.
plugin_slug = 'single-post-meta-manager-slug'; $ this-> version = '1.0.0'; $ this-> load_dependencies (); $ this-> define_admin_hooks (); / ** * Importiert die Administrationsklassen für Single Post Meta und den Single Post Meta Loader. * * Die Administrationsklasse "Single Post Meta Manager" definiert alle einzigartigen Funktionen für die * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Die Verwaltungsklasse für den Single Post Meta Manager definiert alle einzigartigen Funktionen, um benutzerdefinierte Funktionen in das WordPress-Dashboard einzuführen. * * Der Single Post Meta Manager Loader ist die Klasse, die die Hooks und Callbacks * von WordPress und dem Plugin koordiniert. Diese Funktion instanziiert und setzt den Verweis auf die Klasseneigenschaft * $ loader. * * @access private * / private Funktion load_dependencies () required_once plugin_dir_path (dirname (__FILE__)). 'admin / class-single-post-meta-manager-admin.php'; required_once plugin_dir_path (__FILE__). 'class-single-post-meta-manager-loader.php'; $ this-> loader = new Single_Post_Meta_Manager_Loader (); / ** * Definiert die Hooks und Callback-Funktionen, die zum Einrichten der Plugin-Stylesheets * und der Meta-Box des Plugins verwendet werden. * * Diese Funktion basiert auf der Klasse Single Post Meta Manager Admin und der Klasse Load * der Klasse Single Post Meta Manager *. * * @access private * / private Funktion 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'); / ** * Setzt diese Klasse in Bewegung. * * Führt das Plugin aus, indem die Run-Methode der Loader-Klasse aufgerufen wird, die * alle im Plugin verwendeten Hooks und Callback-Funktionen * mit WordPress * registriert. * / public function run () $ this-> loader-> run (); / ** * Gibt die aktuelle Version des Plugins an den Aufrufer zurück. * * @return string $ this-> version Die aktuelle Version des Plugins. * / public function get_version () return $ this-> version;
Klar gibt es viel von neuen Kommentaren, die in diese bestimmte Datei eingefügt wurden; Es sollte jedoch sehr selbsterklärend sein, was jede Klasseneigenschaft, der Konstruktor und die internen Funktionen tun.
Zu beachten ist - neben der Art und Weise, wie die Informationen über das Plugin koordiniert werden -, wie wir die im vorherigen Artikel definierten Standards einhalten.
Beachten Sie jedoch, dass wir haben die Freiheit genommen, wenn nicht Verwenden bestimmter Tags und / oder Funktionen der Dokumentation, wenn sie nicht relevant sind. Dies ist etwas, das wir im Rest des Artikels fortsetzen werden.
Aktionen = Array (); $ this-> filters = array (); / ** * Registriert die Aktionen bei WordPress und den jeweiligen Objekten und deren Methoden. * * @param string $ hook Der Name des WordPress-Hooks, für den ein Rückruf registriert wird. * @param object $ component Das Objekt, das die Methode enthält, die aufgerufen wird, wenn der Hook ausgelöst wird. * @param string $ callback Die Funktion der angegebenen Komponente. * / public function add_action ($ hook, $ component, $ callback) $ this-> actions = $ this-> add ($ this-> aktionen, $ hook, $ component, $ callback); / ** * Registriert die Filter bei WordPress und den jeweiligen Objekten und deren Methoden. * * @param string $ hook Der Name des WordPress-Hooks, für den ein Rückruf registriert wird. * @param object $ component Das Objekt, das die Methode enthält, die aufgerufen wird, wenn der Hook ausgelöst wird. * @param string $ callback Die Funktion der angegebenen Komponente. * / public function add_filter ($ hook, $ component, $ callback) $ this-> filters = $ this-> add ($ this-> filters, $ hook, $ component, $ callback); / ** * Registriert die Filter bei WordPress und den jeweiligen Objekten und deren Methoden. * * @access private * * @param array $ hooks Die Auflistung vorhandener Hooks, die der Auflistung der Hooks hinzugefügt werden sollen. * @param string $ hook Der Name des WordPress-Hooks, für den ein Rückruf registriert wird. * @param object $ component Das Objekt, das die Methode enthält, die aufgerufen wird, wenn der Hook ausgelöst wird. * @param string $ callback Die Funktion der angegebenen Komponente. * * @return array Die Sammlung von Hooks, die über diese Klasse bei WordPress registriert werden. * / private Funktion add ($ hooks, $ hook, $ component, $ callback) $ hooks [] = array ('hook' => $ hook, 'Komponente' => $ Komponente, 'callback' => $ callback) ; $ hooks zurückgeben; / ** * Registriert alle definierten Filter und Aktionen mit WordPress. * / public function run () foreach ($ this-> filtert als $ hook) add_filter ($ hook ['hook']), array ($ hook ['Komponente'], $ hook ['callback'])); foreach ($ this-> fungiert als $ hook) add_action ($ hook ['hook']), array ($ hook ['Komponente'], $ hook ['callback']));
Beachten Sie, dass diese Klasse mehr oder weniger eine Kernkomponente des Plugins ist, da sie alle Aktionen und Filter koordiniert, die im Plugin verwendet werden. Dieses Plugin zentralisiert die Registrierung und Koordination der Hooks, die im gesamten Plugin verwendet werden.
Endlich wann Lauf
Alle Hooks werden bei WordPress registriert. Wenn das Plugin ausgelöst wird, werden alle registrierten Aktionen und Filter aufgerufen.
Administrator
VerzeichnisAn dieser Stelle können wir uns auf die Dateien im Admin-Verzeichnis des Plugins konzentrieren.
Obwohl die Datei aus mehreren PHP-Dateien besteht, besteht sie auch aus einer CSS-Datei. In diesem Artikel werden wir die CSS-Dateien nicht dokumentieren. jedoch der WordPress-Codex tut Dokumentation dafür definieren.
Im Moment dokumentieren wir jedoch weiterhin die Klassen und Dateien, die in der vorhanden sind Administrator
Verzeichnis.
Die Admin-Klasse für Single Post Meta Manager hat eine einzige Verantwortung: Definieren Sie die Funktionalität zum Rendern der Meta-Box und ihrer Stile für das Dashboard.
version = $ version; / ** * Ruft das Stylesheet, das für die Gestaltung des Inhalts dieser * Meta-Box verantwortlich ist, in eine Reihe ein. * / public function enqueue_styles () wp_enqueue_style ('single-post-meta-manager-admin', plugin_dir_url (__FILE__). 'css / single-post-meta-manager-admin.css', array (), $ this- > Version, FALSCH); / ** * Registriert die Meta-Box, in der alle Post-Metadaten * angezeigt werden, die dem aktuellen Post zugeordnet sind. * / public function add_meta_box () add_meta_box ('single-post-meta-manager-admin', 'single post-Meta-Manager', Array ($ this, 'render_meta_box'), 'post', 'normal', 'core' ); / ** * Erfordert die Datei, die zum Anzeigen der Benutzeroberfläche der Post-Meta-Box verwendet wird. * / public function render_meta_box () required_once plugin_dir_path (__FILE__). 'partials / single-post-meta-manager.php';
Beachten Sie, dass die Klasse über sehr wenige funktionale Details verfügt. In erster Linie enthält die Klasse einen Verweis auf die Version des Plugins, das Stylesheet, mit dem die MetaBox formatiert wird, und die Funktion, die zum Rendern der MetaBox erforderlich ist.
Es sei daran erinnert, dass all dies in der Core-Plugin-Datei und im Loader eingerichtet ist. Dies hilft, die im Plugin vorhandene Logik zu entkoppeln, sodass sich jede Klasse auf den eigentlichen Zweck konzentrieren kann.
Natürlich hängt das letzte Teil des Plugins von der tatsächlichen Teildatei ab, die die für die Anzeige der Meta-Box erforderliche Markierung enthält.
$ post_meta_value) ?>
Dies sollte relativ selbsterklärend sein; Um jedoch vollständig zu sein, beachten Sie, dass diese Datei die aktuelle Post-ID verwendet (durch die Verwendung der get_the_ID ()
function), liest die Post-Metadaten und durchläuft dann eine Tabelle, in der die Schlüssel und Werte angezeigt werden.
An diesem Punkt haben wir die Implementierung unseres Plugins abgeschlossen. Von der Implementierung der objektorientierten Programmierung bis zur Dokumentation des Codes.
Sie können die endgültige Version des Plugins auf GitHub herunterladen. Wir werden jedoch die objektorientierte Diskussion mit ein paar weiteren Beiträgen fortsetzen, um ein paar fortgeschrittenere Themen wie Vererbung, Abstraktion und andere Themen zu untersuchen.
Wenn Sie Fragen oder Kommentare zum Plugin haben, können Sie sie in den Kommentaren hinterlassen!