Eigene Widgets für die Sidebar erstellen

wp_logoDie Wordpress-Seite lässt sich mit eigenen Widgets in der Sidebar mit geringen Aufwand aufwerten. Selbsterstellte Widgets lassen sich auf einfache Weise in Wordpress einfügen. Für die Ausgabe in der Sidebar kann eigener PHP-Code, JavaScript oder HTML benutzt werden.

 

Mit eigenen Widgets können Bilder, Werbung und vieles mehr in der Sidebar dargestellt werden.

 

Beispiel:

Beispiel eines einfachen Widgets. Der PHP-Code wird in die functions.php des Wordpress-Themes eingefügt.

 

Der Code für die Ausgabe auf der Wordpress-Seite wird in eine Funktion geschrieben.

function meine_widget_ausgabe() {

    // Code fuer die Ausgabe
    echo "Mein Widget Text";
}

Die Funktion bekommt einen eindeutigen Namen (Beispiel: meine_widget_ausgabe ).

 

Das neue Widget muss registriert werden:

wp_register_sidebar_widget( 
    'mein_widget_1',        // eindeutige widget id
    'Mein Widget',          // widget name
    'meine_widget_ausgabe',  // callback function
    array(                  // options
        'description' => 'Beschreibung des Widgets'
    )
);

 

In der Funktion "wp_register_sidebar_widget" müssen folgende Werte enthalten sein:

  • Eine eindeutige ID
  • Der Name des Widgets, der im Admin-Bereich unter Widgets angezeigt wird.
  • Der Funktionsname in der die Ausgabe definiert ist (callback function).
  • Optional kann eine Beschreibung für das Widget vergeben werden.

 

Nach dem Speichern der functions.php erscheint das Widget im Admin-Bereich.

 

Admin-Bereich Design - Widgets:

image

 

Das Widget kann im Admin-Bereich zu einer Sidebar hinzugefügt werden.

 

image

Jetzt würde nach dem obigen Beispiel der Text "Mein Widget Text" in der Sidebar der Wordpress-Seite erscheinen.

 

Mit einer kleinen Erweiterung kann ein Titel(Überschrift) für das Widget auf der Wordpress-Seite angezeigt werden.

Dazu wird folgender Code in die Funktion für die Ausgabe hinzugefügt.

function meine_widget_ausgabe($args) {  
extract($args);
echo $before_widget;
echo $before_title . __('Mein Titel') . $after_title;
echo "Mein Widget Text";
echo $after_widget;
}

 

Die Ausgabe auf der Webseite mit Titel:

image

Das Design wird aus der Wordpress-Datei "style.css" übernommen und kann für jedes einzelne Widget angepasst werden.

 

 

Statt “Mein Widget Text” können individuelle Wordpress-Funktionen eingefügt werden wie “wp_list_categories()” oder selbsterstellte Funktionen.

 

Mit der Funktion "wp_register_sidebar_widget( )" kann das Widget nur einmal in einer der Sidebars verwendet werden.

 

Widgets an denen Einstellungen im Admin vorgenommen werden können, ist ein etwas umfangreicherer Code nötig.

 

Für multiple Widgets die mehrfach in Sidebars verwendet werden sollen, wird eine Klasse benötigt, die über die Funktion "register_widget( )" registriert und mit "add_action( )" initialisiert werden.

 

Weitere Informationen:

Sidebar, Widget-Bereiche erstellen.

Sidebar nur für bestimmte Seiten.

Hintergrundgrafiken für Widgets.

Unterschiedliche Sidebars in der sidebar.php