Funktionieren Conditional tags nicht mehr?

  • Hallo, ich möchte hier kein Doppelthema aufmachen, mein Anliegen bezieht sich schon auf meinen letzten Post (https://forum.wpde.org/threads/text-u…nfuegen.189870/), ich fürchte aber, meine Frage geht dort unter, weil es mit Design nichts mehr zu tun hat.

    Ich habe versucht mit Conditional tags einen Inhalt nur auf einer bestimmten Seite auszugeben.
    Z.B.

    PHP
    if ( is_home()) {
    echo "Testtext";
    }

    is_home habe ich zum Testen auch ersetzt mit is_front_page oder is_shop, leider wird aber in keinem Fall der Text ausgegeben.

    Bei der Suche nach einer Lösung des Problems bin ich auf ein anderes Forum gestoßen, indem davon berichtet wird, dass die Conditional tags nicht mehr funktionieren mit der aktuellen WP-Version.

    Bevor ich also weiter ewig nach einer Lösung suche, möchte ich hier erstmal fragen, ob die Conditional tags denn noch funktionieren?

    Für eine Antwort wäre ich sehr dankbar.
    Viele Grüße
    Robota

    • 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

  • Das wäre mir neu das die nicht mehr funktionieren, ich nutze die sehr häufig.


    Danke für deine Antwort.
    Könntest du vlt. mal einen Codeausschnitt mit einem Conditional Tag posten, der bei dir funktioniert?
    Vlt. habe ich irgendwo einen Fehler drin.

  • der Code ist schon für den Blog (Deine Startseite zeigt: Deine letzten Beiträge) korrekt:

    PHP
    <?php
    if (is_home()) {
    echo "Testtext";
    } ?>

    is_home() = "Deine letzten Beiträge"
    is_front_page() = "Statische Startseite"

    man kann aber auch beides kombinieren:

    PHP
    <?php
    if ( is_front_page() && is_home() ) {
    echo "Testtext";
    } ?>

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Hallo maxe,
    danke für deine Antwort.
    Aus irgend einem unerfindlichem Grund funktioniert das bei mir nicht.
    Als Statische Startseite ist der Shop (Woocommerce) eingestellt.
    Ich füge den folgenden Code ein:

    PHP
    if ( is_front_page()) {
    echo "Testtext";
    }


    Auf der Startseite wird das aber nicht ausgegeben.
    Hier einmal der Link zur Seite, wo "Testtext" erscheinen sollte: https://bit.ly/3ex5H42

  • Wo genau fügst du den Code ein?

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • hast du es mal mit
    is_woocommerce()
    getestet?

    Und schau dir mal deinen body-Tag an
    <body class="home archive post-type-archive post-type-archive-product wp-custom-logo wp-embed-responsive theme-storefront woocommerce woocommerce-page woocommerce-no-js storefront-full-width-content storefront-align-wide right-sidebar woocommerce-active">

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Wo genau fügst du den Code ein?


    In die Datei themes/storefront/inc/storefront-template-functions.php
    Den Code habe ich zum Testen unter den Widget-Bereich (header_widget_region) gesetzt.

  • hast du es mal mit
    is_woocommerce()
    getestet?

    Und schau dir mal deinen body-Tag an
    <body class="home archive post-type-archive post-type-archive-product wp-custom-logo wp-embed-responsive theme-storefront woocommerce woocommerce-page woocommerce-no-js storefront-full-width-content storefront-align-wide right-sidebar woocommerce-active">


    Mit is_woocommerce() habe ich es eben getestet, auch da tut sich leider nichts.
    Aus dem body-Tag kann ich nicht viel heraus lesen, was meinst du damit?

    Edit:
    Auch is_post_type_archive() bringt leider nichts hervor.

  • Der Conditional-Tag gehört in die function, nicht davor, z. B.

    PHP
    if ( is_active_sidebar( 'header-1' ) && is_home() )

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Meinst du es so? So habe ich es schonmal und eben wieder probiert, das Widget wird dann trotzdem nicht angezeigt.
    (Getestet mit is_home, is_woocommerce und is_front_page)


    Edit:
    Ok, jetzt habe ich es verstanden!
    So funktioniert es jetzt:

    Vielen Dank für eure Hilfe!

  • nein so meine ich es nicht. Schau dir meinen Code an. Die function fängt erst später an.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • nein so meine ich es nicht. Schau dir meinen Code an. Die function fängt erst später an.


    Ja, es ist mir nach dem Posten der Antwort aufgefallen, ich hatte meinen Post dann noch editiert.
    Es funktioniert jetzt, vielen Dank für eure Hilfe! *thumbs up*

Jetzt mitmachen!

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