Wie wird have_posts() "gespeist" ?

  • hallo,

    den code unten hab ich an den beginn von sidebar.php geschrieben.

    am beginn der search.php steht beginn dieses <? php if have_posts() ... und es werden die gefunden beiträge wie gewünscht ausgegeben. soweit alles sehr schön...

    aber meine frage ist: wieso funktioniert das eigentlich? wie wird hier der "suchfilter" gestellt, dass wordpress beiträge findet, wo das suchwort drinsteht? an welcher funktion im code unten sieht man das? grübel ... wie funktioniert das bloß.
    in der search.php kann es nciht sein, weil gleich die obige if-abfrage kommt. also muss der suchfilter (oder wie immer das in wordpress realisiert ist) in dem bischen code unten gestellt sein, der filter, der dann maßgeblich für die funktion have_posts() ist. ...

    merci, rainer


    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>
    • 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

  • ist das seine datei oder eine funktion? ich finde nichts rechtes.

    außerdem wird das was du ansprichst doch in dem code, den ich im eingangspost angehängt habe, nirgends aufgerufen? grübel ..

  • ok, nennt sich doch searchform.php und wenn sie sich nicht im Themeordner befindet wird sie aus dem Core gezogen.

    Aber worum geht es dir denn nun wirklich?

  • ich würde gerne verstehen, wie wordpress funktioniert in dieser sache. ich kapier es nicht.

    mit dem bischen code, den ich oben gepostet habe, gebe ich den suchstring ein. in welche variable eigentlich?
    mit search.php werden die ergebnisse ausgegeben. ganz oben darin ist die abfrage <? php if have_posts() usw.

    meine frage ist: wieso filtert have_posts() nach dem, was ich in dem suchstring eingegben habe? wo wird das was übergeben? irgendwie verdeckt.

    es funktioniert alles, ich will es nur verstehen ;)

Jetzt mitmachen!

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