Startseite mit einem Beitrag SUCHE Seite mit allen Ergebnissen

  • Hallo :)

    Ich habe ein kleines Problem...
    Ich habe mein WP so eigestellt das immer nur ein Beitrag gezeigt wird!!!
    Also kommt unter jedem Beitrag die Navigation
    (Voriger Beitrag oder Nächster Beitrag oder beides)

    Jetzt musste ich feststellen das wenn man den Blog mit hilfe des Suchfeldes durchsucht und es mehrere Beiträge mit TREFFERN gibt, werden diese auch jeweils in einer Post aufgelistet.
    Also dass heißt es wird der neueste Beitrag mit Treffer angezeigt und drunter erscheint dann wieder die Navigation
    (Voriger Beitrag oder Nächster Beitrag oder beides)

    Ich hätte aber gerne das die SEARCH.PHP alle Ergebnisse in einem Beitrag
    anzeigen tut !!!

    Ist das möglich ???

    Liebe Grüße
    Silvi

    • 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

  • Natürlich ist das möglich. ;-) Die erste Frage wäre wohl, hat Dein Theme eine search.php? Dann müsste man das dort entsprechend einstellen. Welches Theme verwendest Du überhaupt?

  • Mein Theme ist selber zusammen gebastelt :) Hoffentlich graut es dich nicht vor dem code sind bestimmt die ein oder anderen sachen dabei die jemand der sich auskennt nie machen würde.

    Und ja mein Theme hat eine SEARCH.PHP
    hier der code...

  • Hallo!

    Diese beiden Zeilen generieren die Navigation:

    PHP
    <div class="title"><?php posts_nav_link('','','OLDER POST') ?></div>
    <div class="title"><?php posts_nav_link('','NEWER POST','') ?></div>



    Die kannst Du aus der search.php einfach entfernen, da machen sie ja keinen Sinn. Was Du stattdessen ggf. bräuchtest, wäre die Navigation für die weiteren Seiten. Wenn es mal mehr als die eingestellte Anzahl von Ergebnissen pro Seite sind, soll man ja zu Seite 2, 3 etc. navigieren können. Das sieht im Default-Theme so aus und gehört direkt unter das endwhile:

    PHP
    <div class="navigation">
       <div class="alignleft"><?php next_posts_link('&laquo; Vorherige Eintr&auml;ge') ?></div>
       <div class="alignright"><?php previous_posts_link('N&auml;chste Eintr&auml;ge &raquo;') ?></div>
      </div>
  • Ich glaube du hast Silvi falsch verstanden.

    Ich habe das selbe Problem wie sie.Und zwar ist mein Wordpress so konfiguriert das egal in welche Kategorie man wechselt immer nur ein Beitrag pro Seite zu sehen ist.(Unter EINSTELLUNGEN - LESEN - BEITRÄGE PRO SEITE "1" EINGESTELLT)

    Jetzt ist es aber so das, wenn jemand den Blog mit hilfe des Such Feldes nach bestimmten Wörtern durchsucht, und dabei einige Treffer erziehlt werden, diese Ergebnisse immer einzeln angezeigt werden.Also jedes Ergebniss als einzelner Beitrag (da ja unter LESEN die 1 eigestellt ist.

    Dies soll auch für alle Beiträge (POSTS) so bleiben, nur für die Suchergebnisse soll das nicht der Fall sein.

    Also sollen alle Suchergebnisse in einem Beitrag (POSTS) dargestellt und aufgelistet werden.

  • Hi Shorty05,
    genau das ist daß Problem! Ich finde es doof das man nur ein Suchergebniss sieht und wenn man andere sehen will muss man blättern wie bei den Beiträgen :(.
    Ich hab gestern stundenlang gegoogelt und im Forum gelesen hab aber keine Antwort gefunden.

    Vielleicht haben wir ja glück und es hilft uns noch jemand.

    Bitte

    Lg

    Silvi

  • DAS IST DIE LÖSUNG :) :) :) Hab ein wenig rum probiert und es klappt!

    ersetzte dieses

    PHP
    <?php while (have_posts()) : the_post(); ?>

    mit diesem

    PHP
    <?php $top_query = new WP_Query('showposts=7'); ?>
    <?php while($top_query->have_posts()) : $top_query->the_post();
    $do_not_duplicate = $post->ID; ?>

    und trage bei showpost= ein wieviele Ergebnisse angezeigt werden sollen.

  • Oh ja, das hatte ich tatsächlich nicht ganz verstanden. Deine Lösung ist soweit richtig, es geht aber noch einfacher. Einfach oben über dem [EDIT: if (have posts)] das hier einfügen:

    PHP
    $posts = query_posts($query_string . '&posts_per_page=20');

    Und da dann halt die entsprechende [COLOR=black]Zahl[/COLOR] eintragen. Da Du die Query ja in ihrem Inhalt nicht änderst, gibt es nicht wirklich einen Grund, eine neue Query zu bauen (was Du mit new WP_Query tun würdest).

    Was ich oben zum Ersetzen der Links geschrieben hatte, ist dann natürlich trotzdem nötig, damit weitere Ergebnisseiten korrekt verlinkt werden. ;-)

    Einmal editiert, zuletzt von Ammaletu (22. Juni 2008 um 13:06)

  • Weil ich von einem Forenmitglied per PM gefragt worden bin, noch mal etwas detaillierter beschrieben. Einfach auf der betroffenen Seite, also der search.php normalerweise, folgendes raussuchen:

    PHP
    <?php if (have_posts()) : ?>

    Und dort drüber diese Zeile einfügen, in einen PHP-Bereich natürlich:

    PHP
    $posts = query_posts($query_string . '&posts_per_page=20');

    So hier zum Beispiel:

    PHP
    <?php
    $posts = query_posts($query_string . '&posts_per_page=20');
    if (have_posts()) : ?>

    Damit wird die Query, vor dem ersten Zugriff darauf, auf die neue Anzahl an Beiträgen geändert. Etwas aufwändiger wird es eigentlich nur bei Themes, die keine eigene search.php haben sondern z.B. alles in die index.php quetschen. Aber da könnte man auch immer noch eine search.php anlegen, z.B. als eine Kopie der index.php, und das dann dort reinschreiben.

  • Hallo Ammaletu,

    Ich hab das ganze jetzt mal versucht und bekomm dann diese Fehlermeldung!

    Parse error: syntax error, unexpected T_ENDWHILE in /wp-content/themes/sl/search.php on line 43

    Hier ist mein search.php code...

  • Schau Dir mein letztes Posting noch mal genau an, viel deutlicher kann ich es nicht sagen (Sorry, wenn es in einem früheren Beitrag anders stand, habe es dort korrigiert). Und dann packst Du das while wieder rein, so wie es vorher war, und schreibst die Änderung der Query über das if weiter oben. ;-)

    Einmal editiert, zuletzt von Ammaletu (23. Juni 2008 um 12:02)

  • DANKE für die Mühe hab es jetzt hin bekommen :) Wirklich nett das du dir die Zeit genommen hast um mir das ausführlich zu erklären!!!

  • ich hoffe, man kann hier weiter schreiben, auch wenn das Thema schon uralt ist
    auf Grund der Performance habe ich die Anzahl der Beiträge auf 1 beschränkt
    natürlich hatte ich auch das Problem mit der Suchfunktion, die ich aber durch diesen Beitrag schnell lösen konnte
    nun gibt es aber das Problem, dass auch bei der Archivansicht jeweils nur ein Beitrag angezeigt wird
    gibt es hier auch eine einfache Lösung?

Jetzt mitmachen!

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