WordPress Widgets stellen sich vor

WordPress stellt standardmäßig eine Reihe von nützlichen Widgets zur Verfügung.
Diese sollen im folgenden Beitrag unter die Lupe genommen werden.

#1 Archive

Ein monatliches Archiv der Beiträge deiner Website.
Widget-Klasse: widget_archive
wordpress-widget-archive

#2 Individuelles Menü

Füge ein benutzerdefiniertes Menü zur Sidebar hinzu.
Widget-Klasse: widget_nav_menu
wordpress-widget-individuelles-menue
wordpress-widget-individuelles-menue-auswahl

#3 Kalender

Ein Kalender der Beiträge deiner Website.
Widget-Klasse: widget_calendar
wordpress-widget-kalender

#4 Kategorien

Eine Liste oder ausklappbare Liste von Kategorien.
Widget-Klasse: widget_categories
wordpress-widget-kategorien

#5 Letzte Beiträge

Die aktuellsten Beiträge deiner Website.
Widget-Klasse: widget_recent_entries
wordpress-widget-letzte-beitraege

#6 Letzte Kommentare

Die aktuellsten Kommentare deiner Website.
Widget-Klasse: widget_recent_comments
wordpress-widget-letzte-kommentare

#7 Meta

Login-, RSS-, & WordPress.org-Links.
Widget-Klasse: widget_meta
wordpress-widget-meta

#8 RSS

Einträge von einem beliebigen RSS- oder Atom-Feed.
Widget-Klasse: widget_rss
wordpress-widget-rss

#9 Schlagwörter-Wolke

Eine Wortwolke deiner meist genutzten Schlagworte.
Widget-Klasse: widget_tag_cloud
wordpress-widget-schlagwoerter-wolke

#10 Seiten

Eine Liste der Seiten deiner Website.
Widget-Klasse: widget_pages
wordpress-widget-seiten

#11 Suche

Ein Suchformular für deine Website.
Widget-Klasse: widget_search
wordpress-widget-suche

#12 Text

Normaler Text oder HTML.
Widget-Klasse: widget_text
wordpress-widget-text

Widget Area – Ausgabe von Widgets (Frontend) – Variante 1

Damit diese Widgets auch im Frontend angezeigt werden können, brauchen wir mind. eine Widget Area.
Im Prinzip verfügt jedes Theme, welches im Netz angeboten wird, über entsprechende Widget Bereiche.
Willst du jedoch ein eigenes Theme entwickeln, kann dir diese Anleitung zur Erstellung von Widget Bereichen helfen.

the_widget() – Ausgabe von Widgets (Frontend) – Variante 2

Und auch mit Hilfe dieser Funktion können Widgets ausgegeben werden.

Vorteil

Zur Ausgabe der Widgets ist keine Widget Area notwendig.
Auf diese Weise können die Widgets überall – unabhängig von Widget Bereichen – im Frontend ausgegeben werden.

Nachteil

Da die Widgets direkt in den QuellCode eingebunden werden, können nachträgliche Anpassungen (Widget-Einstellungen) nicht über das Backend vorgenommen werden.
Dazu müssen die entsprechenden Template-Dateien angepasst werden.

Anwendung

Die folgenden CodeZeilen sollen kurz aufzeigen, wie die Funktion zusammengesetzt wird.

// Anwendung
the_widget( $widget, $instance, $args )
$widget [string]
=> PHP Klassenname des Widgets
WP_Widget_Archives
WP_Widget_Calendar
WP_Widget_Categories
WP_Widget_Links
WP_Widget_Meta
WP_Widget_Pages
WP_Widget_Recent_Comments
WP_Widget_Recent_Posts
WP_Widget_RSS
WP_Widget_Search
WP_Widget_Tag_Cloud
WP_Widget_Text
WP_Nav_Menu_Widget
$instance [array]
=> Parameter / Einstellungen des Widgets
the widget's instance settings
$args [array]
=> Aufbau des Widget-Bereiches [vgl. Fkt. register_sidebar()]
widget's sidebar args

Beispiel

Im Prinzip reicht es aus, wenn man den folgenden Code in eine beliebige Template-Datei einbindet, damit das Widget Letzte Beiträge ausgegeben wird.

the_widget( 'WP_Widget_Recent_Posts' )

Sofern man die Standardausgabe anpassen will, gibt es folgende Möglichkeiten:

// Allgemein
the_widget( 'WP_Widget_Recent_Posts', $instance, $args )
// Individuelle Ausgabe
$instance = array(
'title' => __( 'Aktuelles' ), // $title | Default = __( 'Recent Posts' )
'number' => 7, // $number | Default = 10
'show_date' => true // $show_date | Default = false
);
$args = array(
'before_widget' => '<section class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<span class="title">',
'after_title' => '</span>'
);
the_widget( 'WP_Widget_Recent_Posts', $instance, $args );


Quelle:
./wp-includes/default-widgets.php
./wp-includes/widgets.php

PS: Weitere Infos folgen noch :)

Schreibe einen Kommentar

* Pflichtfelder