Zurück   WordPress Deutschland Forum > Support > Plugins und Widgets

Antwort
 
Themen-Optionen Ansicht
Alt 07.11.2007, 01:35   #1 (permalink)
PostRank: 0
 
Registriert seit: 06.11.2007
Beiträge: 2
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):

Code:
<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="&raquo;" /></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.


Zitat:
You can do this with any part of the theme’s sidebar, or all of them. Here’s an example of how to do this:
PHP-Code:
function widget_mytheme_search() {
?>
    << PASTE YOUR SEARCH FORM HERE >>
<?php
}
if ( 
function_exists('register_sidebar_widget') )
    
register_sidebar_widget(__('Search'), 'widget_mytheme_search');
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-Code:
<?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="&raquo;" />
</div>
</form>
<br /><br />
<?php
}

if ( 
function_exists('register_sidebar_widget') )
    
register_sidebar_widget(__('Search'), 'widget_bluebox_search');    
    
?>

___
*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.

Geändert von maloXP (07.11.2007 um 02:34 Uhr).
maloXP ist offline   Mit Zitat antworten
Alt 29.10.2008, 17:53   #2 (permalink)
PostRank: 0
 
Registriert seit: 29.10.2008
Beiträge: 3
Entferne mal das Such-Widget (Admin - Design - Widgets) aus der aktuell verwendeten Liste der Widgets. Dann füge es erneut hinzu. War bei mir die Lösung. Als Codebeispiel habe ich zur Probe die Funktion/Funktionsregistrierung aus einem anderen Theme genommen (und in functions.php eines anderen Themes eingefügt).
blogbold ist offline   Mit Zitat antworten
Alt 31.10.2008, 16:58   #3 (permalink)
PostRank: 0
 
Registriert seit: 29.10.2008
Beiträge: 3
So, jetzt hatte ich das Problem auch noch mal.

Lösung:
in Admin -> Design -> Widgets gibt es "Suchen" 2 mal!

Eines ist das default, das andere offensichtlich das selbsterstellte/registrierte.
(Im Link des "+/-" Zeichens in der Widgetliste ist der Unterschied ev. im Parameter "add=..." zu sehen.)
blogbold ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt