is_home() was hier falsch?

  • Hallo,

    ich habe in der header.php folgende Zeile hinterlegt:

    PHP
    <li<?php if (is_home()) { ?> class="current_page_item"<?php } ?>>
    <a href="<?php echo get_settings('home'); ?>" title="zur Startseite">Home</a></li>

    Was ist daran falsch? Die Startseite wird nämlich nicht erkannt. Wahrscheinlich habe ich Tomaten auf den Augen, wie es eben manchmal so ist. :mrgreen: Oder kann WP bei static Frontpage damit nix anfangen?

    Vielen Dank für Eure Hilfe

    Nachtrag: Vielleicht noch wichtig zu wissen. Es geht darum, dass die Klasse .current_page_item auf der Startseite nicht generiert wird. Der Link funktioniert.

    Titel - Was ist hier falsch wollte ich schreiben. Kann ich leider nicht mehr ändern.

    • 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

  • Ja, scheint so zu sein. *[ is_home() wird wohl bei static Frontpage nicht erkannt. Es funktioniert, wenn ich

    PHP
    <li<?php if (is_page('Home')) { ?> class="current_page_item"<?php } ?>><a href="<?php echo get_settings('home'); ?>" title="zur Startseite">Home</a></li>

    angebe. Naja, muss ich mich halt mit dem Adminpanel sychronisieren (wollte ich vermeiden). Aber geht ja auch irgendwie. Vielen Dank.

  • Ja, scheint so zu sein. *[ is_home() wird wohl bei static Frontpage nicht erkannt. Es funktioniert, wenn ich

    PHP
    <li<?php if (is_page('Home')) { ?> class="current_page_item"<?php } ?>><a href="<?php echo get_settings('home'); ?>" title="zur Startseite">Home</a></li>

    angebe. Naja, muss ich mich halt mit dem Adminpanel sychronisieren (wollte ich vermeiden). Aber geht ja auch irgendwie. Vielen Dank.

    ist aber logisch, dass da is_home nicht funktionieren kann, weil es ja nicht *home* ist, sondern eine Seite

    conditiaonal tags können das nicht, die sind hartnäckig konservativ ;)

    lg

  • Monika, ja, ist das wirklich logisch? Da fehlt mir hier leider der Durchblick :mrgreen:
    Ich dachte immer, Uri wäre = Uri . Da wird wohl etwas anders abgefragt, was ich nicht verstehe. Naja, hauptsache es funktioniert irgendwie - wenn auch über Umwege ;-)

    ja URI is URI, aber *home* ist keine URI und conditional tags fragen nicht nach der URI

    lg

  • ... die ID der als Startseite festgelegten Seite müsste in den Options drinstehen ...

    Code
    get_option('page_on_front');

    Probier's mal so:

    PHP
    <li<?php if(is_home()||is_page(get_option('page_on_front'))) { ?> class="current_page_item"<?php } ?>>
    <a href="<?php echo get_settings('home'); ?>" title="zur Startseite">Home</a></li>

    Ich hab's jetzt selbst nicht probiert, was passiert, wenn keine Seite als Startseite festgelegt ist, weiß ich nicht - eventuell müsste man prüfen, ob get_option('page_on_front') wirklich gefüllt ist ...

  • pufaxx,

    ist auch eine nette Idee. Aber jetzt habe ich die is_page() - Variante schon vergewaltigt :mrgreen:

    Mit entsprechenden Einstellungen im Adminpanel funktioniert das ja auch - wenn auch nicht als elegante Lösung. Mit Sicherheit aber benötige ich diese Option später nochmals. Dann werde ich mir Deine Idee ganz sicher zu Herzen nehmen - vielen Dank dafür.

    Monika,

    hätte ich programmiert, was ich natürlich in diesem Umfang auf keinen Fall könnte, hätte ich als erstes die URI abgefragt *gg* (Kleiner Scherz am Rande - zwischen meinen Fähigkeiten und WP liegen Welten)

Jetzt mitmachen!

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