Problem mit Sidebar und is_home

  • Hallo Community,

    ich habe ein Problem mit einer Wordpress Instanz. Ich möchte je nach Seitenaufruf unterschiedlichen Inhalt in der Sidebar anzeigen lassen. In einer anderen Wordpress Seite funktioniert es auch.
    Hiermal der Code den ich verwende:

    PHP
    <?php if (is_home()) { echo "<div class=\"edit\">Titel</div>";
        } elseif (is_page(3)) { echo "<div class=\"edit\">Spielplan</div>";
    } ?>

    Es wird aber immer der Inhalt von is_home angezeigt. Ich habe nun schon alles mögliche ausprobiert. is_page(1) anstelle von is_home, dann zeigt er aber gar nichts an. Kann dies am Theme liegen? Ich habe auch schon den Namen stelle der ID probiert, ich habe aber so das Gefühl, dass is_home immer true zurückgibt. Im Einsatz ist hier WP 2.5

    • 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

  • Ich bin nun ein Stückchen weiter. Bei anderen Themen wird die if Schleife korrekt durchlaufen, es muss also am Theme liegen. Gibt es eine spezielle Funktion die dies ausführt? Ich habe die anderen Themen mal verglichen konnte aber nichts entdecken. Kennt jemand die Mechanik die dahintersteckt?

  • Hiermal der Code den ich verwende:

    PHP
    <?php if (is_home()) { echo "<div class=\"edit\">Titel</div>";
        } elseif (is_page(3)) { echo "<div class=\"edit\">Spielplan</div>";
    } ?>


    Sieht soweit gut aus.

    Zitat

    Kann dies am Theme liegen?


    Normal nicht.

    Zitat

    ich habe aber so das Gefühl, dass is_home immer true zurückgibt.


    Das sollte es nicht tun, eben nur auf der home-Seite. Genauer auf der normalen "Hauptseite", nicht bei einer statischen Startseite (dafür gibts ab 2.5 is_front_page() )

    Zitat

    Kennt jemand die Mechanik die dahintersteckt?


    Nur die Doku: Conditional Tags « WordPress Codex
    Für alles andere müsste man in den WP-Kern gehen.

    Kannst du vielleicht mal die gesamte sidebar.php und einen Link anbieten?

  • Danke erstmal. Aber ich denke ich habe den Übeltäter gefunden. Die index.php und page.php binden jeweils eine latest.php ein. Darin befindet sich unter anderem dieses:

    PHP
    <?php query_posts('showposts=5'); ?>

    Sobald ich diese Zeile herausnehme wird die Schleife korrekt durchlaufen. Jetzt die nächste Frage: Was ist daran nicht korrekt? Laut Doku ist die Syntax in Ordnung.

  • Ja, aber... ;-) Durch diesen neuen Query wird wohl das is_home() überschrieben. Verwende in der latest.php am besten ein neues Query-Objekt, dann sollte das klappen. Ein Beispiel aus dem Codex:

    PHP
    <?php $my_query = new WP_Query('category_name=special_cat&showposts=10'); ?>
    
    
    <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
      <!-- Do special_cat stuff... -->
    <?php endwhile; ?>


    The Loop « WordPress Codex

Jetzt mitmachen!

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