Meldung "keine Posts" auf Seite ausgeben

  • Guten Abend, ich hoffe, ich kann mich verständlich ausdrücken. Also, ich habe mir Templates gebastelt (auf der Grundlage der page.php), die dafür sorgen, dass jeweils die Posts einer Kategorie auf einer statischen Seite ausgegeben werden. Klappt auch wunderbar. Wenn es nun aber keine Posts in der Kategorie gibt - wie erzeuge ich eine Meldung mit einem Hinweis, dass zur Zeit keine entsprechenden Einträge vorhanden sind? (Zur Erklärung: es geht um Veranstaltungshinweise, und nicht jede Veranstaltungsart wird immer angeboten.)

    • 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

  • Danke für die Links, ich habe mich nun die letzten Tage sehr eingehend mit dem Loop beschäftigt, und wenn ich das richtig sehe, muss die else-Anweisung nach der While-Schleife eingefügt werden. Wenn ich das aber mache, verschindet die gesamte Seite ... :( ... was mache ich bloß falsch? Hier mal der komplette Code:

    Wenn ich die drei Zeilen zwischen else und endif weglasse, bekomme ich die leere Seite. Mit den drei Zeilen ist alles (also auch Header, Sidebar und Footer) verschwunden.
    Ich habe auch schon versucht, nach dem endif noch den Query zurückzusetzen, weil das irgendwo empfohlen wurde:

    PHP
    <?php wp_reset_query(); ?>

    War aber auch wirkungslos (ist wohl auch nur bei mehreren Querys sinnvoll).
    Bin für jeden Tipp dankbar.
    Gruß, Barbara

  • diese zeile am anfang des loops erlaubt kein 'else' (und am ende war wahrscheinlich auch kein 'endif' im original code):

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


    aendere die zeile um:

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


    der doppelpunkt sollte das problem loesen;

    siehe auch http://php.net/manual/en/cont…tive-syntax.php

  • Danke, das war's tatsächlich! Da wär ich natürlich nie drauf gekommen.

    Du hattest recht, das endif war nicht in der ursprünglichen Datei. Aber ohne funktioniert's nicht.

    Noch mal ganz herzlichen Dank!!!
    Gruß, Barbara

Jetzt mitmachen!

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