• Hallo,

    bei der Suche wird ja die URL domain.tld/?s=Suchwort
    Kann man das ändern, damit dieses ?s= weg ist oder mit einem Wort ersetzt wird?

    Ich habe hier schon eine Lösung gefunden, aber die funktioniert nicht.
    Die URL wird zwar umgeschrieben, aber es werden keine Suchergebnisse gefunden

    Das habe ich mit Folgendem versucht:

    function change_search_url_rewrite() {
    if ( is_search() && ! empty( $_GET['s'] ) ) {
    wp_redirect( home_url( "/suche/" ) . urlencode( get_query_var( 's' ) ) );
    exit();
    }
    }
    add_action( 'template_redirect', 'change_search_url_rewrite' );

    • 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

  • Habe ich mir schon gedacht, dass ich mich nicht richtig ausgedrückt habe :)

    Wenn ich im Blog etwas suche, kommen die Ergebnnisse mit der URL https://blogdomain.tld/?s=Berlin
    Ich hätte es aber gern, dass https://blogdomain.tld/Berlin kommt
    Also ohne das ?s=

    Das wird so nicht funktionieren, befürchte ich. Woher weiß denn Wordpress dann, dass es sich dabei um eine Suche oder einen Suchbegriff handelt? https://blogdomain.tld/Berlin wäre ja erstmal ein "normaler" Permalink, so dass Wordpress erstmal davon ausgehen würde, dass es sich um eine Page, Post oder eine Kategorie (o.ä.) handelt.

    Warum genau möchtest du denn den Parameter weg haben?

    Theoretisch könnte der von dir genannte Asatz mit dem Code-Schnipsel schon so funktionieren. Aber du müsstest Wordpress dann zusätzlich "beibringen", dass /suche/[Suchbegriff] die Suchseite ist und er [Suchbegriff] als Parameter für die Suche nutzen soll.

    Alternativ könnte man die Suche vielleicht auch einfach von GET auf POST umbauen, indem man das Suchformular auf POST ändert und dann auf der Suchseite dafür sorgt, dass er statt der GET-Variable die entsprechende POST-Variable nimmt. Welcher Hook dafür am ehesten geeignet ist, müsste ich jetzt aber auch testen. Ich würde es jetzt zunächst wahrscheinlich mit wp_head oder request oder vielleicht pre_get_posts probieren.

  • Das sagt mir alles nicht wirklich was.
    Ich dachte, es geht einfacher mit einem Plugin

    Ich will auch nicht so viel an den Datein ändern, was beim nächsten Update dann wieder futsch ist.

  • Ich wüsste nicht, wie es viel einfacher gehen könnte.
    Da mir aber auch kein wirklich plausibler Grund einfällt, das zu ändern, wird es vermutlich auch keine Plugins dafür geben (zumindest ist mir nichts bekannt).

    Alle o.g. Änderungen sind aber Updatesicher, solange ein Child-Theme verwendet wird. "Futsch" wäre es also nicht :)

  • Der Grund ist, dass ich zwei verschiedene Kategorieebenen habe.
    Einmal die der Beiträge und einmal die aus einem Branchenbuch.

    Die normale Suche listet mir Branchenbucheinträge UND normale Blogbeiträge auf.
    Ich könnte es also nicht über die Kategorien machen, denn Blogpost lassen sich nicht in die Kategorien des Brachenbuchs eintragen und umgekehrt auch nicht.

    Was du geschrieben hast, verstehe ich leider nicht und ich habe auch kein Child-Theme

  • Deswegen hatte ich nach dem Grund gefragt. Dein Problem hat für mich ehrlich gesagt nichts mit der Fragestellung zu tun. Die Suchergebnisse bleiben dann ja genau die selben, ganz unabhängig davon, ob du den Parameter änderst, umbenennst oder wegnimmst...

    Was möchtest du denn konkret erreichen? Sollen die Branchenbucheinträge nicht in der Suche erscheinen? Oder die Blogbeiträge nicht? Oder zwei separate Suchen?

  • Vielleicht hilft dir das weiter:
    https://www.wpbeginner.com/wp-tutorials/h…s-in-wordpress/

    Das behandelt eigentlich genau dein Problem. Zumindest, wenn ich es jetzt richtig verstanden habe ...

    Du solltest dann aber tatsächlich vorher dringend ein Child-Theme anlegen, bevor du solche Änderungen machst:
    https://www.elmastudio.de/ein-wordpress-…-gehts-richtig/

    Und zur Sicherheit, gerade wenn du eher unsicher bist, was solche Änderungen angeht, solltest du vorher am besten auch ein Backup der Seite erstellen (z.B. mit Duplicator oder BackWPup).

Jetzt mitmachen!

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