Auflistungsrichtung von Posts in Unterkategorie

  • Hallo Forum

    Das Szenario:
    In einer Unterkategorie "Postliste" (cat=KATEGORIE-ID) habe ich Postings gespeichert, die jeweils nur
    ein passendes Bild (160x240px) zum verlinkten Post enthalten, um Besuchern eine
    thumbnail-ähnliche Auflistung aller Posts der Hauptkategorie zu bieten. WP listet auch,
    wie erwartet, alle Posts der "Postliste" auf - allerdings untereinander.

    Mein Problem:
    Ich würde gerne drei Posts nebeneinander pro Zeile darstellen, dann die nächsten drei in
    der nächsten Zeile und so weiter. Wie/wodurch kann ich WP dazu bewegen, die Postings auf
    diese Weise darzustellen?

    Ein, zugegeben, noch nicht ganz fertiger

    Wäre klasse, wenn mir einer von Euch mit dem Code helfen könnte, ich weiss nicht mehr
    weiter.

    Vielen Dank,
    [LD]

    • 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

  • Kommt auf dein Theme an. Wenn du dem "post_content"-Container eine Breite von ~33% gibst (in der Praxis etwas weniger vermutlich, wegen padding/margin) und floatest. Wenn das nicht klappt, dann musst du zusätzlich in den PHP-Code eingreifen. Zähler mitlaufen lassen, und jeweils nach 3 Posts ein HTMl-Element mit CSS-clear einfügen.

    Kannst du vielleicht nen Link anbieten, dann könnte man ein wenig live testen.

  • Danke für Deine Antwort, marX.

    Momentan arbeite ich noch mit einer lokalen MAMP/XAMPP Instalation an meiner Theme, werde aber versuchen, sie so schnell wie möglich auf eine Testdomain zu laden.

    Wenn du sagst, Zähler mitlaufen lassen, meinst Du dann ein Query mit etwas ähnlichem wie:

    PHP
    <?php if ($count == 3) : ?>
    // Insert CSS CLEAR
    <?php endif; $count  ; ?>

    Wie hole ich denn dann, das HTML/CSS Element in den Code?
    (Sorry, hätte vorher sagen sollen, dass ich nicht wirklich grosse Erfahrung mit PHP habe)

    Danke für die Hilfe
    [LD]

  • Ich habe vorher mit <UL> und entsprechendem CSS experimentiert, aber das hat mir die Posts zwar nebeneinander aber bestenfalls unter das Layout geschoben - war wohl nix.

    Der PHP Code (soweit ich ihn verstehe), sieht so ziemlich nach dem aus, was ich suche, allerdings verstehe ich die Syntax nicht:

    Code
    $x=0;
    
    
    while (have_posts()) {
       $x++;
    ......
       if ($x % 4 == 0) echo "---Test!\n"; 
    }

    Jetzt bitte noch einmal für einen der auf der Leitung steht, oder ziemlicher PHP Newbie ist:

      Steht das

    Code
    $x=0;

    einfach so alleine da oder muss ich das irgendwie formatieren, so dass PHP es auch erkennt? Also

    PHP
    <?php $x=0; ?>

    oder so?

    • Beim Rest verstehe ich, dass er im Loop steht, doch wofür sind die "......"? Was fehlt da? Das fehlende

    Code
    : the_post(); ?>

    kommt doch erst danach, oder?

    • Steht das "\n" für einen Zeilenumbruch? Ist das das HTML Element , mit dem ich den CSS-Clear einfügen kann?

    Danke für die Hilfe/Geduld ;)
    [LD]

  • Steht das

    Code
    $x=0;

    einfach so alleine da oder muss ich das irgendwie formatieren, so dass PHP es auch erkennt? Also

    PHP
    <?php $x=0; ?>

    oder so?


    Selbstveratändlich müssen da <?php ?>-Tags drumrum. Ist ja PHP-Code. ;-)

    Zitat

    Beim Rest verstehe ich, dass er im Loop steht, doch wofür sind die "......"? Was fehlt da? Das fehlende

    Code
    : the_post(); ?>

    kommt doch erst danach, oder?


    Das ist ein Minimalbeispiel, was ausschließlich die While-Schleife des Loops enthält. Die Auslassungspunkte sagen, dass hier der normale Loop-Code des Themes einzufügen ist. Oder andersherum, die $x-Codes müssen in deinem Loop eingefügt werden.

    Zitat

    Steht das "\n" für einen Zeilenumbruch? Ist das das HTML Element , mit dem ich den CSS-Clear einfügen kann?


    Nein, das ist nur ein Test-Text um die Wirkung zu zeigen. Der Zeilenumbruch \n ist dort eigentlich ziemlich überflüssig und hat mit HTML gar nichts zu tun.
    Du müsstest statt dessen hier deinen HTML-Code einfügen, zB so:

    HTML
    <br style="clear:both" />
  • Vielen Dank für die riesen Hilfe marX

    Mein winzigen Änderungen (?) am Code sind wahrscheinlich weniger elegant, doch jetzt
    funktioniert es - von ein paar gestalterischen Dingen (CSS) mal abgesehen aber die
    bekomme ich auch noch hin.

    Hier nochmal der gesamte Code, damit andere auch etwas davon haben

    Bis bald,
    [LD]

Jetzt mitmachen!

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