Beschreibungen für WordPress Widget-Bereiche
Anzeige

Mit WordPress Version 2.9 gibt es nun die Möglichkeit, dass man nähere Beschreibungen der Widget-Bereiche übergeben kann. Dies ist besonders dann interessant, wenn man unterschiedliche Widget-Areas definiert, sei es in Abhängigkeit der Kategorien in der Sidebar oder weil man als Theme-Autor diverse Widget-Bereiche definiert, die Anpassungen in mehr Bereichen, als nur im Sidebar, zulassen. Ich tue dies beispielsweise im Theme Greyfoto, wo auch der Footer-Bereich via Widgets bestückt werden kann.
Im folgenden Beispiel-Code wird ein Widget-Bereich definiert, genannt My Lorem Ipsum Sidebar, der eine „nähere“ Beschreibung enthält und so eindeutiger sein kann; der Code gehört in die functions.php des Themes.
if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'My Lorem Ipsum Sidebar',
'description' => __('Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.', 'your_textdomain'),
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
}

Ein etwas umfassendes Beispiel mit zwei Widgetbereichen, ein Bereich für den Sidebar und ein Bereich für den Footer; in der Regle also in die footer.php.
if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'id' => 'mysidebar',
'name' => 'My Lorem Ipsum Sidebar',
'description' => __('Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.', 'your_textdomain'),
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
register_sidebar(array(
'id' => 'myfooter',
'name' => 'My Lorem Ipsum Footer',
'description' => __('Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.', 'your_textdomain'),
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
}
Diesen kann man im einfachsten Fall dann wie folgt in den Templates nutzen; im folgendem mal die Nutzung in der footer.php des Widget-Bereiches My Lorem Ipsum Footer.
<div id="myfooter">
<ul>
<?php dynamic_sidebar('myfooter'); ?>
</ul>
</div>
4. Mai 2010 um 14:07
Hi Frank,
die Widget-ID footer ist problematisch, da WordPress diese ID auch als CSS-ID (#footer) auf die Widget-Area-Box anwendet. Diese wird jedoch schon vom generellen Admin-Footer verwendet. Daher auch der dunkle Hintergrund in der unteren Widget-Box (Screenshot). Grüße!
4. Mai 2010 um 17:55
@Simon: danke, du hast natürlich recht und daher habe ich es auch gleich gefixt.
26. Mai 2010 um 06:47
Mal eine Blöde Frage. Wo muss ich den PHP Code denn reinschreiben - in die sidebar.php ??
26. Mai 2010 um 11:38
@WpUser: is tim Text hinterlegt, der Source der Widgets kommt in die functions.php und der Aufruf an der Stelle, wo es erscheinen soll, z.b. die footer.php
15. Juni 2010 um 14:12
Hallo,
also erstmal vorne weg... DAS ist genau das was ich gesucht habe!!!
Ich bin mega glüklich, da ich fast daran verzweifelt wäre einige Widgets in den Footer zu kriegen...
Danke!!!
Aber, ich habe nun noch ein Problem...
Er bindet mir die Widgets, die ich haben will ein, aber er übernimmt nicht das normale Widget-Designt bzw. Format...
Wie krieg ich das hin???
Für eine Antwort wäre ich dir sehr dankbar!
Lieben Gruß
16. Juni 2010 um 10:51
@Maria: die einzelnen Bereiche müssen im Frontend abgefragt werden, im Theme Greyfoto mache ich das (kann man frei nutzen und ansehen) oder schaue dir mal das Tutorial von Simon an.
16. Juni 2010 um 16:28
Hey Frank, also ich hab mich mit dem Artikel, den du mir empfohlen hast auseinander gesetzt und an meienr Seite rum probiert, allerdings klappt es nicht. Mein html Code ist irgendwie ein wenig merkwürdig, da das Theme mit einem Programm selber kreiert worden ist.
Meine "FooterSidebar" will einfach nicht die Formatierung der Sidebar1 annehmen.
Hier mal der Link, damit du dir das mal anschauen kannst:
http://www.nrw-beamte.deich hoffe du kannst mir sagen wie ich das regeln kann, denn bisher hat nichts geklappt
Lieben Gruß
17. Juni 2010 um 13:08
@Maria: nein, kann ich nicht; dazu muss ich den Source, also den PHP Code, sehen
17. Juni 2010 um 13:57
@maria: sende mir eine Zip, als Kommentar ist das noch mehr Zeitaufwand um es zu lesen, geschweige denn das Problem zu finden.