Reihenfolge der Widget-Anzeige in Sidebar nun individuell möglich
Dank Tanjas Code in ihrem Beitrag Sidebar Anzeige der letzten Pingbacks und Trackbacks ohne Plugin (Beitrag wurde leider gelöscht) erscheinen diese nun endlich auch in meiner Sidebar. Außerdem habe ich wieder ein Plugin entfernen können.
Get Recent Comments gefiel mir deswegen so gut, weil darin eingestellt werden konnte, dass meine Antworten auf Kommentare nicht in der Sidebar erscheinen. Dank Tanjas Code für die Anzeige der letzten Kommentare ohne Plugin oder Widget (Link entfernt, da Beitrag nicht mehr vorhanden ist), in dem dieser Ausschluss ebenfalls möglich ist, konnte ich mich aber dieses Plugins entledigen. Somit bin ich jetzt bei unter 30 aktiven Plugins angelangt.
Was mir allerdings erst einmal nicht so gut gefiel, dass die Codes unter den vorgegebenen WordPress-Widgets wie “Text” und “Blogroll” ausgegeben wurden. Ich wollte aber, dass die “letzten Kommentare” und “beliebten Artikel” etwas weiter oben angezeigt werden. Ich wusste, dass dieses nur an der Dynamic Sidebar liegen konnte, dessen Code sich am Anfang der sidebar.php befindet. Nun hätte ich diesen Code ja ganz einfach an das Ende der sidebar.php setzen können. Aber dann wären auch meine Social Media-Buttons ans Ende der Sidebar gerutscht.
Meine Ergänzung in der sidebar.php
Tanja gab mir dann den entscheidenden Tipp, dass ich diesen Code kopieren bzw. dublizieren, umbenennen und in der functions.php ebenfalls ergänzen könne.
Nun stelle mich da erst einmal immer etwas umständlich an. Ich bin ja schließlich keine php-Expertin und habe mal wieder echt zu schätzen gewusst, dass ich für solche Umgestaltungen einen Testblog besitze. ;-)
Einfügen musste ich also zusätzlich an beliebiger Stelle in der sidebar.php
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) ){ ?>
Ich habe ihn ganz ans Ende gesetzt, um den manuell eingefügten Codes davor zu ermöglichen. Leider funktionierte das nicht bei mir bzw. es wurde eine Fehlermeldung angezeigt. Gehapert hat es an einem kleinem aber entscheidenden Code-Schnipsel und letztendlich musste der Code bei mir so lauten:
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) ){ ?> <?php } ?>
Meine Ergänzung in der functions.php
Zusätzlich war noch das Anlegen der Funktion der zweiten Sidebar in der functions.php erforderlich. Ich habe die Werte des ersten Sidebar-Codes einfach übernommen und dann noch einen Namen (Sidebar 2) gegeben, der dann auch im Backend erscheint.
if ( function_exists('register_sidebar') ) { register_sidebar(array('name' => 'Sidebar 2' , 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>', )); }
Meine Änderungen in der footer.php
Ich hatte vor einiger Zeit nachträglich eine Footer-Sidebar in meinem Template eingebaut. Daher musste ich auch noch die Nummerierung dieser einzelnen Codes ändern, da diese ja ursprünglich bei Nummer 2 startete und sich durch das Anlegen der 2. Dynamic-Sidebar mit der Nr. 2 erst einmal sämtliche Widgets verschoben, das hatte ich erst nicht bedacht. ;-) Allerdings hätte für die zweite Sidebar auch die Nummer 5 wählen können, aber so ist es mir dann doch lieber.
if ( function_exists('register_sidebar') ) { register_sidebar(array('name' => 'Sidebar 2' , 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>', )); }
Ihr seht, die erste (linke) Footer-Sidebar startet nun bei Nummer 3. Nun kann ich in meiner Sidebar Kategorien, die Blogroll, Kommentare usw. in beliebiger Reihenfolge anzeigen lassen.