2 Loops mit orderby=rand in einer Seite

  • Hallo zusammen,

    ich möchte gerne in einem Template 2 Loops einbauen. Der erste soll so aussehen:

    PHP
    <?php query_posts($query_string. "&orderby=rand&showposts=2"); ?>

    Der 2te Loop weiter unten soll wieder die Randomsortierung haben, aber die ersten beiden Artikel von oben nicht mehr anzeigen.

    PHP
    <?php 
            $random_query = new WP_Query('orderby=rand&showposts=10');
              while ($random_query->have_posts()) : $random_query->the_post(); ?>

    Ich komm da momentan nicht hinter :-x

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

    • 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

  • ähhm ja, wie soll ich mir die merken wenn die random sind? Oder hab ich da was übersehen?

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Sorry, ich tue zwar hier immer sooo schlau ... bin ich aber wohl nicht :mrgreen:
    Kannst du mir da noch ein bisschen auf die Sprünge helfen *büddebüdde* ??

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • *lach* Aber nur weil du heute deinen Milleniumpost hattest! :mrgreen:

    Also ich mein sowas hier:

    PHP
    <?php [COLOR="#0000ff"]$do_not_duplicate = array();[/COLOR] ?>
    <?php query_posts($query_string. "&orderby=rand&showposts=2"); ?>
    <?php
     while ( have_posts() ) : the_post();
     [COLOR="Blue"]$do_not_duplicate[] = get_the_ID();[/COLOR]
    ?>


    Hier hast du nach dem Durchlaufen der Schleife alle bereits angezeigten Post-IDs im Array $do_not_duplicate stehen. Im 2. Loop schließt du diese jetzt einfach aus. Dafür musst du die Parameterübergabe per Array verwenden:

    PHP
    <?php 
    $random_query = new WP_Query(array(
      [COLOR="#0000ff"]'post__not_in' => $do_not_duplicate,[/COLOR] 
      'showposts' => 10, 
      'orderby' => 'rand'
    ));


    Ich habs jetzt nicht getestet, allerdings hab ich letztens was ähnliches (aber ohne random) gebastelt, das funktionierte perfekt. ;-)

  • ja so ähnlich hatte ich es auch schon mal, aber irgendwie scheitert es!!


    ohhh man, gerade als ich hier wieder den Code posten will fällts mir wie Schuppen von den Augen.

    PHP
    <?php else : ?>
    ...
    <?php endif; ?>

    Ich Dummie hab immer den else und endif am Ende missachtet. Wer scrollt auch immer bis ganz unten :oops: Naja, die beiden haben dann einfach mich missachtet :sad:

    DAAAAANKE !!

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Ach so, der Vollständigkeit halber noch mal ne Rückmeldung ... läuft erstklassig auch mit Random und cat:

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Mit dem code will ich die lezten 4 Posts vom ersten Loop nach datum sortiert ausgeben und vom 2ten Loop werden 12 posts angezeigt aber in random order ohne das es duplikate gibt. Das stimmt der code, oder?:confused:
    Verstehe nicht wieso ich trozdem Duplikate im zweiten Loop angezeigt bekomme.:???:

    Einmal editiert, zuletzt von vangelis183 (9. Januar 2009 um 14:31)

  • ich versteh's grad gar net, warum du es dir so kompliziert machst, da du sowieso nur verschiedene Kategorien abfragst. Und wieso dabei auch noch die Artikel doppelt erscheinen ist mir ebenfalls ein Rätsel :confused: Oder hast du einzelne Artikel beiden Kategorien 69 + 6 zugeordnet?

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • ich hab jetzt 15-20 deine Seite neu laden lassen. Es kam kein mal ein Bild der ersten Reihe in den folgenden Reihen vor. Sorry, bei mir scheint's richtig zu laufen ... Code sieht ja auch richtig aus.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • ich hab jetzt 15-20 deine Seite neu laden lassen. Es kam kein mal ein Bild der ersten Reihe in den folgenden Reihen vor. Sorry, bei mir scheint's richtig zu laufen ... Code sieht ja auch richtig aus.

    In dem Link funktioniert es auch. Es ist ein anderes CMS dahinter. Ich habe den code gemeint. Werde es heute Abend nochmal probieren ob ich es so mit WP hinbekomme wie auf dem Link. Umstieg ist eben etwas schwer;-).

  • off topic an die Mods:
    Warum wird mein erster Satz im letzten Post so "verstümmelt"? Original hatte ich das geschrieben: "ich hab jetzt 15-20 deine Seite neu laden lassen"
    Wenn ich auf ändern klicke zeigt er mir den Satz auch wieder richtig an.
    Und auch jetzt beim Antworten wird mir der Satz weiter unten richtig angezeigt.
    Komisch :confused:

    Edit: Ohne die Anführungszeichen hier hat er mit den Satz nach dem abschicken wieder verstümmelt.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

    Einmal editiert, zuletzt von maxe (9. Januar 2009 um 17:46)

  • Der code hat jetzt funkioniert aber ich verstehe immer noch nicht was ist bei dem code anders wie bei dem einen von dir

  • Schön, dass es jetzt klappt.

    Trotzdem zu deiner Frage:
    Hast du vor diesen 2 Loops noch ein Loop stehen? In dem jetzigen Code fehlt $query_string, welches immer die vorherigen Variablen mit liefert. Vielleicht klappt's weil du diese nicht angefügt hast. Aber so genau kenn ich mit damit auch nicht aus. Vielleicht sieht's ein anderer hier besser :oops:

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • In dem jetzigen Code fehlt $query_string, welches immer die vorherigen Variablen mit liefert. Vielleicht klappt's weil du diese nicht angefügt hast.


    Ich glaube das hat auch deswegen funktioniert, weil einfach der $query_string fehlt.:-D

  • test

    ich hab jetzt 15-20 deine Seite neu laden lassen

    Code
    orderby=rand

Jetzt mitmachen!

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