Ein Widget-fähiges Theme ist heutzutage fast schon Standard und aufjedenfall Pflicht, wenn man vorhat das Theme anderen zugänglich zu machen. Ein widget-fähiges Theme erlaubt es dem Admin bestimmte Inhalte im Blog an und abzuschalten, z.b. die Blogroll, das Archiv, die Kategorien etc.
Wem Widgets bislang nichts sagen, sollte sich diesen Artikel durchlesen: Widgets für WordPress
Damit dein Theme auch Widget-fähig wird, musst du eigentlich nicht viel machen. Erstelle als erstes im Hauptverzeichnis deines Themes die Datei functions.php und füge folgenden Code ein:
<?php if ( function_exists('register_sidebar') ) register_sidebar(); ?>
Als nächstes öffnen wir die Datei sidebar.php:
<h2>Suche</h2> <p> <form method="get" id="searchform" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" /> <input type="submit" id="search_submit" value="Suchen" /> </form> </p> <h2>Über diesen Blog</h2> <p class="mini_about"> Hallo, mein Name ist Christian und du siehst hier das Tutorial Template aus dem <a href="http://wordpress.lernenhoch2.de/handbuch/">Wordpress Template Tutorial</a> auf <a href="http://lernenhoch2.de/">Lernen²</a> </p> <h2>Kategorien</h2> <ul> <?php wp_list_categories('orderby=name&order=ASC&title_li='); ?> </ul> <h2>Archiv</h2> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> <h2>Blogroll</h2> <ul> <?php wp_list_bookmarks(); ?> </ul>
Den derzeitigen Quellcode müssen wir nun etwas anpassen. Wenn der Admin kein Widget auf die Sidebar gezogen hat, soll unsere Standard Sidebar angezeigt werden, ansonsten werden alle Widgets angezeigt, die der Admin hinzugefügt hat:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?> <h2>Suche</h2> <p> <form method="get" id="searchform" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" /> <input type="submit" id="search_submit" value="Suchen" /> </form> </p> <h2>Über diesen Blog</h2> <p class="mini_about"> Hallo, mein Name ist Christian und du siehst hier das Tutorial Template aus dem <a href="http://wordpress.lernenhoch2.de/handbuch/">Wordpress Template Tutorial</a> auf <a href="http://lernenhoch2.de/">Lernen²</a> </p> <h2>Kategorien</h2> <ul> <?php wp_list_categories('orderby=name&order=ASC&title_li='); ?> </ul> <h2>Archiv</h2> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> <h2>Seiten</h2> <ul> <?php wp_list_pages(); ?> </ul> <h2>Blogroll</h2> <ul> <?php wp_list_bookmarks(); ?> </ul> <?php endif; ?>
Mit den Widgets können alle unsere Blöcke erstellt werden und auch der Titel für den Blog, z.b. „Über diesen Blog“ kann frei gewählt werden, ohne in den Template-Code eingreifen zu müssen. Lösche jetzt den Inhalt der Datei sidebar.php und ersetzte ihn mit obigen.
Nun sollte die Sidebar unseres WordPress Tutorial Templates widget-fähig sein.