Searchform Erklärung bitte!

  • ...also ich verstehen die verschiedenen Suchformulare nicht. Wie baut man es am besten auf?

    - Ein separates "searchform.php" mit einer "search.php" Seite? Werden dann die Suchergebinisse auf dieser "search.php" Seite angezeigt?

    Im "default_de" Thema ist das ja wohl so, aber auch auf der Index Seite sind ja Hinweise für die Suchergebnisse eingetragen?

    - Das Searchformular hat ja diesen Code:

    PHP
    <form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">
    <div><input type="text" value="<?php the_search_query(); ?>" name="s" id="s" />
    <input type="submit" id="searchsubmit" value="Suche" />
    </div>
    </form>


    - Was macht ""<?php bloginfo('home'); ?>" ?
    - Ich habe auch welche gesehen mit "<?php echo $_SERVER['PHP_SELF']; ?>" Wo ist denn da der Unterschied?


    - Dann das "<?php the_search_query(); ?>" im Value vom Textfeld, muss das da stehen, oder kann man das auch ander lösen, damit man z.B. dort "Suchen" oder soetwas eintragen kann?

    - Und was besagen alle "id" und "name" - beziehen die sich auf etwas in der Suchfunktion, oder kann man die beliebig ändern oder weglassen?

    Naja, ich habe das System einfach noch nicht verstanden. Vielleicht kann mir ja jemand das verständlich erklären, wie man es am besten macht und was dann auch durchsucht wird.

    Danke

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • die sicherste Methode ist

    PHP
    ..... action="<?php bloginfo('wpurl'); ?>

    Erklärung:

    bloginfo('home') gibt das zurück, was Du in deinen Optionen als "Homepage" eingetragen hast. Es kann ja sein, dass Du vielleicht nen Online-Shop als "Hauptseite" hast und WordPress nur ein Unterbereich Deines Auftrittes ist. Aber in den meisten Fällen ist die 'home' gleich der 'wpurl' - und wpurl ist das Verzeichnis, in das Du WordPress installiert hast.

    Was ne wackelige Geschichte ist - die Action mit $_SERVER-dings zu formulieren. Denn dann gibt die Action bisweilen Werte aus, unter denen nichts gefunden werden kann ... also 404er-Fehler.

    ---> Also nimm wpurl - dann klappt's mit oder ohne Permalinks und auf jedem Server.

    --> Bei "name" und "value" kannst Du eingeben, was dir grad in den Sinn kommt.

  • ..ok, werde ich nehmen.

    Und Du sagst, das "<?php echo wp_specialchars($s, 1); ?>" muss nicht im Value vom Textfeld stehen und es funktioniert trotzdem?

    Wo werden denn nun die Suchergebnisse aufgelistet - auf der Index Seite oder wird dann die search.php "rangeholt" ?

    ...also im "default_de" Thema ist ja das hier noch in der Sidebar - wozu bräuchte man das, ist das auch eine Suchanzeige?

  • Das in der Sidebar ist nur so ne Art "Status-Info", wo man sich grad aufhält. In welcher Kategorie etc. ... "Durchsuchst" ist vielleicht ein bisschen irritierend übersetzt, "your are currently browsing blablabla" ...

    das mit wp_specialchars - oops ... ist mir noch gar nicht aufgefallen, dass das in einigen Templates drin ist - also ... Falls das da wirklich rein MUSS, dann könnte das eventuell dafür zuständig sein, Sonderzeichen so zu wandeln, dass die Suche auch auf jedem Server damit klar kommt.

    Mit einfach "s" hatte ich jedenfalls noch keine Probleme ... Wobei ich aber auch noch nicht ausprobiert hab, was bei einfach "s" passiert, wenn man PlugIns wie clean_umlauts oder ähnliche NICHT installiert hat ...

    Na, bei Gelegenheit ..

    Template: Wenn Du eine Suche startest, wird die search.php genommen. Sofern Du eine hast. Musst mal im Codex büschn suchen, die ganzen Dateien haben eine bestimmte Hierarchie, wann welche genommen wird, wenn diese-und-jene nicht da ist ...

    Ansonsten: Einfach ausprobieren ... Komm ich auch manchmal nicht drumrum, es gibt z.B. PlugIns für WordPress <2.1, mit denen man statische Seiten als Startseite festlegen kann. Manche benutzen dabei eine page.php, manche eine index.php ... also die Abfrage if is_home() funktioniert bei manchen Spielereien nicht immer richtig. Aber if is_search(); archive, page, bla - da hatte ich noch nie Überraschungen mit.

  • ... also die Abfrage if is_home() funktioniert bei manchen Spielereien nicht immer richtig. Aber if is_search(); archive, page, bla - da hatte ich noch nie Überraschungen mit.

    ..wo würde das "if is_search();" reinkommen?

    Mal nebenher - hast Du eine Ahnung, wie ich die Textarea auf der comments.php stylen kann?

    Die Kommentare und und Eingabefelder (Name, URL, eMail) funktionieren wunderbar aber die Textarea geht nicht, bzw. kann ich nicht an die Eingabefelder angleichen.

  • ....and das Textarea Feld bin ich mittlerweilen dann doch rangekommen - zwar nicht 100%ig aber schon mal viel besser.

    ...die Augenränder hab' ich auch schon :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!