Ich bin mit OOP nicht ganz vertraut, aber ich kenne die Grundlagen. Ich erstelle ein WordPress-Plugin und muss eine (HTML-)Tabelle auf der Plugin-Seite erstellen. Ich habe gelesen, dass es in WP 3.1 eine Klasse namens WP_List_Table gibt, die das notwendige Markup generieren kann.
Kann mir jemand eine ganz grundlegende Vorstellung davon geben, wie man das benutzt? Muss ich eine untergeordnete Klasse erstellen, um sie zu verwenden?
Dieser Artikel ist ein wirklich schöner Artikel zum Thema WP-List-Table: http://wp.smashingmagazine.com/2011/11/03/native-admin-tables-wordpress/
Ja, Sie müssen eine untergeordnete Klasse erstellen, um die Eigenschaften der übergeordneten Klasse zu erweitern. Ich habe die dupliziert wp-admin/plugins.php
und wp-admin/includes/class-wp-plugins-list-table.php
und diese Dateien in mein Plugin verschoben.
Ich habe dann das ganze Rückwärts-Engineering-Ding gemacht, damit es mit dem aktuellen Plugin funktioniert, an dem ich arbeitete. Ich habe auch einen Fehler im Prozess gefunden, der bereits gemeldet wurde und an dem gearbeitet wird.
Der Fehler ist auf gefunden http://core.trac.wordpress.org/ticket/15386.
Kurz gesagt, dies wird nie ausgeführt, wenn die untergeordnete Klasse von einem Plugin ausgeführt wird.
list($columns, $hidden) = $this->get_column_info();
Als Workaround habe ich den obigen Code auskommentiert und die Methode direkt mit dem gefüttert, wonach sie gesucht hat:
$columns = $this->get_columns();
$hidden = $sortable = array();
Wenn Sie versteckte oder sortierbare Spalten haben, können Sie deren Methoden auch direkt aufrufen, aber ich habe sie für meine Implementierung nicht benötigt.
Nach ein paar Stunden verstehe ich jetzt, was die Klasse tut, und ich habe ein funktionierendes Modell. und wenn der Fehler behoben ist, wird es ein bisschen schöner 😉