Theme-eigenes Search-Widget in der functions.php registrieren - Wie?
Tag, ihr Pros.
Folgendes: Ich bin gerade dabei, ein Theme zu modifizieren und habe dafür auch das Blogsuche-Formular der Sidebar angepasst, dass es jetzt so aussieht (den UL- und LI-Schnickschnack drumherum lass' ich mal weg):
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
<div>
<input type="text" value="Suche..."
onfocus="if ( value == 'Suche...' ) { value = ''; }"
onblur="if ( value == '' ) { value = 'Suche...'; }"
name="s" id="s" />
<input type="submit" id="searchsubmit" value="»" /></div>
</form>
<br /><br />
Soweit bin ich zufrieden. Jetzt stehe ich allerdings vor dem Problem, dass ich das Formular für die Blogsuche gerne auch identisch als Widget hätte.
In der Anleitung bei Automattic zum "Widgetizen" von Themes steht, dass man die Standard-Widgets durch Theme-eigene per functions.php ersetzen kann.
ZitatYou can do this with any part of the theme’s sidebar, or all of them. Here’s an example of how to do this:
Nun habe ich das naheliegende gemacht und obigen ersten Codeschnipsel in untigen zweiten Codeschnipsel, und zwar an die Stelle mit dem PASTE YOUR SEARCH FORM HERE, eingefügt. Aber was ist? Nada. Alles bleibt beim alten im Blog wenn Widgets an sind, sprich: Die hässliche Standardsuchbox, die mir auch irgendwie buggy* scheint, wird angezeigt. Nun ist PHP eine Fremdsprache für mich und ich wage zu hoffen, dass mir irgendwer von euch sagen kann, ob und wenn ja was ich syntaktisch falsch gemacht habe. Hier nochmal, weil's so schön ist, der komplette Inhalt meiner functions.php:
<?php
if ( function_exists('register_sidebars') )
register_sidebars();
function widget_bluebox_search() {
?>
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
<div><input type="text" value="Suche..." onfocus="if ( value == 'Suche...' ) { value = ''; }"
onblur="if ( value == '' ) { value = 'Suche...'; }" name="s" id="s" />
<input type="submit" id="searchsubmit" value="»" />
</div>
</form>
<br /><br />
<?php
}
if ( function_exists('register_sidebar_widget') )
register_sidebar_widget(__('Search'), 'widget_bluebox_search');
?>
Alles anzeigen
___
*Das scheint nur aufzutreten, wenn zwischen Such-Box und Submit-Button ein Zeilenumbruch stattfindet - sprich: ein zu langer Text auf dem "Suche starten"-Button sprengt das ganze Sidebar-Layout.