bedingte Anzeige eines Texts, wenn bestimmtes Custom Field gefüllt

  • Hallo zusammen,

    ich bitte um Eure Hilfe, meine rudimentären Kenntnisse sind erschöpft. Ich möchte eine bestimmte Anzeige in der single.php machen, wenn ein bestimmtes custom field gefüllt ist. Der custom field wert soll dann angezeigt werden. Wenn das custom field nicht gefüllt ist, soll einfach (ohne Anzeige) die if-Kette beendet werden und weiter nach Code vorgegangen werden.

    Meine Lösung sieht derzeit so aus:

    <?php if (get_post_meta($post->ID, 'kopf-zitat', true))<>"" : ?>

    <?php else: ?>
    <div id="zitat"><p>
    <em> <font color="#2266aa">
    <?php echo get_post_meta($post->ID, 'kopf-zitat', true);" ?>
    </font> <em>
    </p>
    </div>
    <?php endif; ?>
    Ich erhalte leider nur eine leere Seite. Woran liegt es?

    Vielen Dank schon einmal für die Korrektur.
    Christian

    • 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

  • Sorry, ich meinte natürlich:

    Die Lösung sieht aktuell SO aus:

    <?php if (get_post_meta($post->ID, 'kopf-zitat', true))="" : ?>

    <?php else: ?>
    <div id="zitat"><p>
    <em> <font color="#2266aa">
    <?php echo get_post_meta($post->ID, 'kopf-zitat', true);" ?>
    </font> <em>
    </p>
    </div>
    <?php endif; ?>

  • nb: fuer code bitte am besten den 'php'-button verwenden.

    PHP
    <?php if (get_post_meta($post->ID, 'kopf-zitat', true)) == "" : ?>



    in id-abfragen doppeltes == verwenden

    geht auch ohne 'else':

    PHP
    <?php if (get_post_meta($post->ID, 'kopf-zitat', true)) != "" : ?>
    <div id="zitat"><p>
    <em> <font color="#2266aa">
    <?php echo get_post_meta($post->ID, 'kopf-zitat', true); ?>
    </font> <em> 
    </p>
    </div>
    <?php endif; ?>



    php logik operatoren: http://php.net/manual/en/language.operators.logical.php

  • Hallo, danke schon mal für den Tipp. Bestimmt ist der Code korrekt, aber leider funktioniert es bei mir nicht.

    Wie folgt ist es nun programmiert: [LEFT]

    PHP
    <?php if (get_post_meta($post->ID, 'kopf-zitat', true)) <> "" : ?>
    <div id="zitat"><p>
    <em> <font color="#2266aa">
    <?php echo get_post_meta($post->ID, 'kopf-zitat', true); ?>
    </font> <em> 
    </p>
    </div>
    <?php endif; ?>

    [/LEFT]

    Es steht am Schluss der Headers der single.php, vor dem letzten </div>.

    Könnte es an der Code-Position liegen? (Ich habe ein funktionierendes Beispiel gesehen an dieser Position, das Beispiel kommt aber ohne php aus.) Ich glaube aber nicht.

    Könnte es sein, dass ich die Post-ID falsch zuweise? Sollte man vielleicht noch die Post-ID-Abfrage noch ins get_post_meta hineinziehen?


    Danke schon mal. :-/ Bin gefrustet.

Jetzt mitmachen!

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