Loop: Nach jedem 3. Beitrag [tu etwas]

  • Folgendes Problem:
    Ich möchte den Coda-Slider in Kombination mit Wordpress verwenden. Ihr müsst euch nicht tief in das Funktionsschema dieses Coda-Sliders einlesen, das Problem ist recht simpel, denn ich möchte auf jeder Seite (Panel) des Sliders 3 Wordpress-Beiträge ausgegeben haben.

    Dummerweise erfordert das Konstrukt des Coda-Sliders nach jedem Panel einen Haufen Code, um genau zu sein diesen hier:

    HTML
    </div>
    </div>        
    
    
    <div class="panel" title="Panel X">
        <div class="wrapper">

    Der obere Teil schließt das vorhergehenden Panel, der untere Teil beginnt ein neues Panel.

    Wollte ich das nun in einem einzigen Loop durchlaufen lassen, müsste ich nach jedem 3. Beitrag den oben genannten HTML-Code einfügen und den Zähler des title-Attributs um +1 erhöhen.

    Eine Möglichkeit wäre dies ebenfalls mit jQuery zu lösen, nach folgendem Schema:

    Code
    $("div.entry:nth-child(3n) ").append("-> Code<-;

    lies: Nach jedem 3. Eintrag füge Code-XYZ ein. Nur bei mir will das nicht funktionieren, von jQuery hab ich noch weniger Ahnung als von PHP und Wordpress.

    Ich denke das hier 5 ways to highlight your first post in your WordPress theme wäre vom Prinzip her eine Lösung, aber wie gesagt, ich bin zu blöd das umzusetzen.

    Es handelt sich hierbei übrigens um die Archivseite einer Kategorie. Mein Loop sieht so aus:

    Für Hilfe wäre ich überaus dankbar! :)

    • 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

  • Hi

    also nach 3 Artikelanzeigen diesen Code,

    nun ich lasse gerne PHP zählen, (bin ja faul)

    die class entry umschließt einen Artikel...

    daher lasse ich php "entry" zählen, nach 3 mal "entry" muß es dann was tun...

    bis zu div class="entry alles lassen, dann


    PHP
    <div class="entry <?php $codacounter++;?>" >


    dort wo Du die Codeausgabe brauchst nach dem Ende des div entrys und vor endwhile ---

    PHP
    <?php if ($codacounter % 3 == 0) { ?>
    deine Code
    <?php } ?>

    nach 4 Artikel stünde nach dem % eine 4 ....

    verständlich?


    lg

  • Jo, klar ich werd's sofort ausprobieren. Danke!

    Edit: Super, das hat wunderbar geklappt ;)

    Durch die kleine Rechnung am title-Attribut bekomme ich noch dazu die richtige Seitenzahl für die einzelnen Panels.

    Mein Problem ist jetzt aber der Fall, wenn die Anzahl der Beiträge genau durch 3 teilbar ist (ohne Rest). Dann wird gemäß der if-Abfrage der Code für ein neues Panel eingefügt - nur hab ich ja keinen Beitrag mehr dafür!
    Wie kann ich jetzt für den Fall, dass die höchste Zahl genau durch 3 teilbar ist, eine alternative Ausgabe machen?

    Einmal editiert, zuletzt von Janshi (6. August 2008 um 20:30)

  • Edit: Kann sich mal jemand angucken weshalb das nicht funktioniert? Hab einen Freund um Hilfe gebeten, der sich aber mit WP nicht so sehr auskennt. Der Code in der archive.php erzeugt einen unendlich langen Loop: (ab Zeile 60 wirds interessant)

    Ok, ich hab die Lösung gefunden. Ich wusste nicht, dass man eine Variable abfragen kann bevor sie gesetzt wurde (?!).

    Einmal editiert, zuletzt von Janshi (7. August 2008 um 22:02)

Jetzt mitmachen!

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