Kategorie Archiv Design

  • Ich würde gerne die Kategorien folgendermassen darstellen. Ich habe diesbezgl auch schon viel rumgesucht, aber nichts passendes gefunden. Wahrscheinlich geht es mit "query posts".


    Oben sollte der neuste Beitrag aus der entprechenden Kategorie stehen (als excerpt oder komplett)

    <?php query_posts('showposts=1&cat=3'); ?>

    und darunter sollten nur die Headlines der übrigen posts aus dieser Kategorie dargestellt werden, aber minus des oben abgebildeten posts. Zum Beispiel so ... (aber eben minus des letzten posts, da der ja schon komplett oben steht ...)

    <?php query_posts('showposts=14&cat=3'); ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <a href="<?php the_permalink() ?>">
    <?php the_time('d.m.y') ?>&nbsp;<?php the_title() ?>
    </a><br>
    <?php endwhile; endif; ?>

    Weiss jemand wie das geht?

    danke

    Einmal editiert, zuletzt von wordwah (16. Juli 2006 um 18:02)

    • 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

  • http://www.texto.de/texto/kategori…nnen-get-posts/

    das wäre so ein Ansatz



    lg

  • Unglaublich! So gehts. Grossartig ...

    Da ich so die "archive.php" gestalten will, müsste ich die cat ID aus der URL übernehmen (<?php the_category(', ') ?>) Wie integriere ich das in den Aufruf

    $posts = get_posts('category=2&numberposts=1'); ??

    Denn hiermit ist man auf cat2 festegelegt und ich müsste für jede Kategorie ein einzelnes Template erstellen ...

    1000 Dank.

  • Geht auch noch einfacher (nix gegen Monikas Lösung :D)

    PHP
    <?php if(have_posts()) : the_post() ?>
    ...Hier stehen die Formatierungen für den ersten Beitrag...
    <?php endif; ?>
    
    
    <?php while(have_posts()) : the_post() ?>
    ...und hier die Formatierungen für die restlichen Posts...
    <?php endwhile; ?>

    Man benutzt dabei die Original-Loop, spart sich also eine weitere Anfrage an die Datenbank. Es wird sozusagen erstmal ein Beitrag abgerufen und entsprechend ausgewertet (in deinem Fall also sowas mit Excerpt). Danach wird unterbrochen und an anderer Stelle mit dem nächsten Post fortgesetzt (also mit den Headlines z.B.). Nachteil dabei ist dass man bei den späteren Abrufen nicht mehr überprüfen kann ob überhaupt noch Posts vorhanden sind - wenn das für dich kein Problem ist, gehts so sicherlich eleganter ;-)

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • Fantastisch. Hier holt er sich die CAT aus der URL und ich kann vor und zurücksteppen. Perfekt! Vielen Dank für die schicke Lösung!!!

    Aber den letzten Satz mit "den späteren Abrufen, ob noch Posts da sind" habe ich nicht verstanden ... ähem ...

  • Also die Lösung geht davon aus, dass in der Kategorie mindestens 2 Beiträge enthalten sind.

    Beim ersten Beitrag kann noch überprüft werden, ob überhaupt Beiträge in der Kategorie enthalten sind. Bei der while-Schleife ist das nicht mehr möglich, so dass es zu einer Fehlermeldung kommen würde, sollte nur ein Beitrag in der Kategorie enthalten sein.

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • Jeriko
    und ich schaffte diese Lösung auch nicht in der archive.php

    weil wenn ich oben den Kat Namen und die Kat description schon anzeigen lasse, holt er sich nicht den anders gestylten ersten Beitrag ..... :(

    oder ich war zu schusselig

    lg

  • Das query_posts in der archive.php ist ja nicht mehr nötig, da die Parameter (also Monat und Jahr) ja über die URL geholt werden.

    Wars das was du gemeint hast?

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • Ich habs bei mir mit einem einfachen Counter und if-else-Konstrukten innerhalb der query_posts-Abfrage gelöst. Dadurch hat man die maximale Flexibilität und kann z.B. Post 1-3 anders darstellen, als 4-5 und wiederum anders 6-10 o.ä.

Jetzt mitmachen!

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