WordPress Dashboard Widget hinzufügen

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 15 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

Die kommende Version 2.7 von WordPress bringt die lang ersehnten Widgets in den Dashboard-Bereich. Damit kann dann jeder User seine eigenen Vorstellungen des Dashboard realisieren. Ebenfalls ist es nun auch dem Nutzer überlassen, wie lange die Ladezeiten sind und welche Informationen man dort sehen will; je nach Integration von externen Inhalten.

Für Plugin- und Theme-Autoren ist es aber interessant, denn ab nun kann man dem Nutzer diversen Mehrwert bieten. Informationen aus dem Plugin oder Theme können dort angeboten werden, so dass der Nutzer selbst entscheidet, ob er diese Info’s sehen will.

Schön ist, dass die Integration sehr einfach zu nutzen ist und ähnlich wie die Meta Boxen (hier schon detailliert erklärt) gesteuert wird, die im übrigen dafür verantwortlich ist, aber mit einer Funktion direkt für Widgets ausgestattet wurde. Das folgende kleine Beispiel zeigt, wie man ein Widget in das Dashboard integriert.

WP 2.7 Dashboard erweitern via Widget

Der obige Screenshot zeigt schön, dass ich das Widget Test My Dashboard hinzugefügt habe. Ebenfalls zu sehen ist die mögliche Deaktivierung im Menu.


/**
 * Inhalt des Dashboard-Widget
 */
function my_wp_dashboard_test() {
	echo 'Test Add Dashboard-Widget';
}

/**
 * Dashboard Widget hinzufügen via Funktion wp_add_dashboard_widget()
 */
function my_wp_dashboard_setup() {
	wp_add_dashboard_widget( 'my_wp_dashboard_test', __( 'Test My Dashboard' ), 'my_wp_dashboard_test' );
}

/**
 * Nutzen des Hook, um das neue Widget zu integrieren
 */
add_action('wp_dashboard_setup', 'my_wp_dashboard_setup');

Einige kleine Hinweise zur Aufgabe stehen direkt am Code. Im Grunde ist die Funktion wp_add_dashboard_widget() der Schlüssel, die übergibt das neue Widget; via Hook wp_dashboard_setup wird dieses dann im Dashboard aktiviert.


function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null )

Die Funktion benötigt 3 Parameter und ein weiterer ist optional.

  1. Die ID, der erste Parameter, wird benutzt, um das Widget via JavaScript zu deaktiveren und anzusprechen. einmal im Menu:
    
    <label for="my_wp_dashboard_test-hide"><input class="hide-postbox-tog" name="my_wp_dashboard_test-hide" type="checkbox" id="my_wp_dashboard_test-hide" value="my_wp_dashboard_test" checked="checked" />Test My Dashboard</label>
    

    und auch im eigentlichen Widget:

    
    <div id="my_wp_dashboard_test" class="postbox " >
    <h3 class='hndle'><span>Test My Dashboard</span></h3>
    <div class="inside">Test Add Dashboard-Widget</div>
    </div>
    
  2. Der zweite Parameter übergibt den Namen, welcher auch sichtbar ist, eingeschlossen in den h3-Tag; bzw. auch im Menu vergeben ist.
    
    <h3 class='hndle'><span>Test My Dashboard</span></h3>
    
  3. Mit Hilfe des dritten Parameter wird die Funktion übergeben, die den Inhalt des Widget enthält. Es erfolgt kein echo, es muss explizit genutzt werden. Daraus resultiert ein gewissen Freiheit und nicht nur die einfache Ausgabe von Inhalten kann erstellt werden.

Hinweis

Der Hook activity_box_end, der seit Version 2.3 existiert, existiert weiterhin. Er bringt den Content in das Widget „Right Now“.

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.